Commit graph

965 commits

Author SHA1 Message Date
Juan Linietsky
449df8f688 Base 3D engine done, still untested, though. 2020-02-11 11:59:25 +01:00
Juan Linietsky
dc3b47f3ab Vulkan/RD rasterizer now does clean exit. 2020-02-11 11:58:16 +01:00
Juan Linietsky
e1b3444415 Bugfixes and ability to better specify filter and repeat modes everywhere.
Removes antialiased flag for draw_* methods.
2020-02-11 11:53:28 +01:00
Juan Linietsky
1b4281b895 basic 2D engine is more or less working with Vulkan, including editor.
Still a lot to do
2020-02-11 11:53:27 +01:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Andrea Catania
e6be3f68da - Integrated NavigationServer and Navigation2DServer.
- Added Navigation Agents and Obstacles.
- Integrated Collision Avoidance.

This work has been kindly sponsored by IMVU.
2020-02-10 14:38:52 +01:00
Marcel Admiraal
6d69cd40bd Add do..while(0) wrappers to macros without one.
- Add do..while(0) wrapper to ERR_FAIL_NULL macros.
- Add do..while(0) wrapper to ERR_FAIL_COND macros.
- Add do..while(0) wrapper to ERR_CONTINUE macros.
- Add do..while(0) wrapper to ERR_BREAK macros.
- Add do..while(0) wrapper to CRASH_COND macros.
- Add do..while(0) wrapper to ERR_FAIL macros.
- Add do..while(0) wrapper to ERR_PRINT macros.
- Add do..while(0) wrapper to WARN_PRINT macros.
- Add do..while(0) wrapper to WARN_DEPRECATED macros.
- Add do..while(0) wrapper to CRASH_NOW macros.
2020-02-05 11:19:12 +01:00
Marcel Admiraal
f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
Marcel Admiraal
5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
Rémi Verschelde
6472e09a85 SceneTree: Abort change_scene if we're quitting
Otherwise we can have a segmentation fault if we try to call
`add_child` on an already freed node.

Fixes #35323.
2020-01-19 22:08:40 +01:00
Rémi Verschelde
eb89254690 Fix crash when confirming dialogs with Return key
Regression from #34040, apparently making this a const reference
introduces issues (not sure why, but previous code worked fine).

Fixes #34691.

Co-authored-by: dankan1890 <mewuidev2@gmail.com>
2020-01-17 12:47:23 +01:00
Tomasz Chabora
bbc36dbc67 Don't show conf warning if script is not tool 2020-01-07 21:28:16 +01:00
Rémi Verschelde
ce75a2f33d
Merge pull request #33987 from nekomatata/own-world-environment
Viewport environment is updated properly when set to own world
2020-01-06 15:26:52 +01:00
Hugo Locurcio
cc626acf45
Add a shorthand for setting the exit code using SceneTree::quit()
This reduces the amount of code required to exit a process with a
non-zero exit code. This pattern is also found in most other
programming languages.
2020-01-03 11:41:46 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Hugo Locurcio
f1052aa893
Improve the Timer wait time property hint
- Make it possible to enter more precise values (up to 3 decimals).
- Make it possible to enter values above 4096.
2019-12-28 22:36:59 +01:00
Rémi Verschelde
3d6f991a17 Revert "Allow tab key to be used for shortcuts"
This reverts commit cafb888361.

Fixes #34405.
Reopens #8799, #24064.
2019-12-18 08:30:39 +01:00
Tomasz Chabora
77a8657633 Scroll ScrollContainer to focused children 2019-12-11 14:29:36 +01:00
Rafał Mikrut
ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
PouleyKetchoupp
dc13750189 Viewport environment is updated properly when set to own world
When own_world property is set, the viewport stores a unique resource for the world. With this change it keeps being updated from changes made to the world property instead of storing a default empty world with environment settings that can't be modified.

Fixes #23412
2019-11-29 11:50:10 +01:00
x2f
f085110b20 Added more details in Timer.start() error message. 2019-11-27 14:11:15 -05:00
Rémi Verschelde
967cc2c014
Merge pull request #33862 from Faless/net/http_request_chunk_size
Add download_chunk_size property to HTTPRequest.
2019-11-25 14:29:59 +01:00
Fabio Alessandrelli
ed19b4076e Add download_chunk_size property to HTTPRequest.
This allows setting the `read_chunk_size` of the internal HTTPClient.
This is important to reduce the allocation overhead and number of file
writes when downloading large files, allowing for better download speed.
2019-11-24 19:32:20 +01:00
Martin Capitanio
a7df198c94 Setting the node process priority should not trigger an error
Fixes #33749
This function can be called outside the scene tree.
2019-11-21 18:08:52 +01:00
volzhs
cdae65c4a6 Rename External MSAA to AndroidVR MSAA on Viewport property
following up f392c4ea7a
2019-11-20 03:02:11 +09:00
Rémi Verschelde
cc025fc8e7
Merge pull request #33663 from Calinou/add-node-get-process-priority
Implement `Node::get_process_priority()` and its associated property
2019-11-17 21:43:28 +01:00
Hugo Locurcio
ae76c62601
Implement Node::get_process_priority() and its associated property
This closes #33660.
2019-11-17 17:48:50 +01:00
Holger Dammertz
1b9c2ec92e Rename External MSAA to AndroidVR MSAA
A new external MSAA setting was introduced in https://github.com/godotengine/godot/pull/33518
that fixed issues on GLES2 and Oculus Mobile VR. To avoid misunderstanding it was suggested
by @BastiaanOlij and discussed on discord to rename it to AndroidVR.
2019-11-16 15:36:43 +01:00
Rémi Verschelde
4b8feff594
Merge pull request #33518 from BastiaanOlij/msaa_ext_modes
Add MSAA mode for Quest
2019-11-11 11:46:50 +01:00
Bastiaan Olij
4e2343160c Add special external MSAA modes for GLES2 Rift S/Quest and OpenXR optimisation 2019-11-11 21:02:06 +11:00
Rémi Verschelde
8ffc56c3ca
Merge pull request #29579 from mrcdk/fix_29575
Drop the physics mouseover whenever a input has been handled.
2019-11-11 09:37:27 +01:00
Rémi Verschelde
621dc7022f
Merge pull request #27742 from rxlecky/camera-replication
Game camera override
2019-11-08 10:02:18 +01:00
Rémi Verschelde
2d3fcd0ff0
Merge pull request #30721 from NilsIrl/tab_key
Allow tab key to be used for shortcuts
2019-11-07 18:32:54 +01:00
Erik
8b0546d93b Implement game camera override
Implemented uniform API in Viewport class to override 2D and/or
3D camera.

Added buttons in 2D and 3D editor viewport toolbars that override
the running game camera transform with the editor viewport camera
transform. Implemented via remote debugger protocol and camera
override API.

Removed LiveEditFuncs function pointers from ScriptDebugger class.
Since the debugger got access to the SceneTree instance (if one
exists), there is no need to store the function pointers. The live
edit functions in SceneTree are used directly instead. Also removed
the static version of live edit functions in SceneTree for the same
reason. This reduced the SceneTree -> Debugger coupling too since
the function pointers don't need to be set from SceneTree anymore.

Moved script_debugger_remote.h/cpp from 'core/' to 'scene/debugger/'.
This is because the remote debugger is now using SceneTree directly
and 'core/' classes should not depend on 'scene/' classes.
2019-10-23 02:51:32 +01:00
PouleyKetchoupp
e3d4b96ba7 Fixed crashes when renaming a state in AnimationNodeStateMachineEditor
Recursive calls to Control::_modal_stack_remove could cause a crash because of the list element not being invalidated while being erased from the list.

It happens in the state machine case by hiding a line edit control when it loses focus.

Fixes #23808
2019-10-22 16:28:11 +02:00
Rémi Verschelde
2906cef290
Merge pull request #32922 from nekomatata/fix-scene-timer-yield-leak
Fixed leak on exit when using yield with SceneTreeTimer
2019-10-22 14:17:58 +02:00
Rémi Verschelde
3aa5b54330
Merge pull request #32889 from nekomatata/node-update-config-warning
Expose Node::update_configuration_warning() to scripts
2019-10-22 12:42:09 +02:00
PouleyKetchoupp
1a9801f700 Fixed leak on exit when using yield with SceneTreeTimer
Use case:
yield(get_tree().create_timer(2), "timeout")

Some resources were never released because the SceneTreeTimer was keeping a reference to GDScriptFunctionState in its signal connections, while GDScriptFunctionState was holding a reference to the SceneTreeTimer object. Cleaning all signal connections on game exit fixes the issue.

Fixes #29946
2019-10-19 18:45:17 +02:00
PouleyKetchoupp
139c0a4afe Expose Node::update_configuration_warning() to scripts
This method can be used to generate custom node warnings by script.

Node::_get_configuration_warning was already exposed to generate custom warnings, but it wasn't fully usable without being able to notify the scene tree when the warning needs to appear or change.
2019-10-17 12:20:35 +02:00
qarmin
616ab4fac2 Small fixes to redundand code, copy paste bugs 2019-10-14 11:40:55 +02:00
Michael Alexsander
82863b32de Make tooltips have the same scale as their Controls 2019-10-05 02:04:40 -03:00
Rémi Verschelde
7e3dcf54ea
Merge pull request #30919 from nekomatata/timer-update-transform-fix
Fix GPU particle transform delay when created on SceneTree timer timeout
2019-10-01 06:54:09 +02:00
Nils ANDRÉ-CHANG
0024dd7bb5 Merge branch 'master' into tab_key 2019-09-26 20:36:12 +01:00
Rémi Verschelde
351c45a461
Merge pull request #32047 from codecustard/fix_scrollwheel_triggering_focus_change
Fix scrollwheel triggering focus change
2019-09-25 15:23:47 +02:00
Rémi Verschelde
dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin
17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
fhuya
a7712cc9e4 Add new events and accompanying logic to notify when the app is paused and resumed on Android devices. 2019-09-19 13:29:49 -07:00
Emmanuel Barroga
b8007b3947 Fix scrollwheel triggering focus change
Clicking or using the scrollwheel outside of the focused control triggers a focus change. This makes sense for mouse clicks, but scrollwheeling outside the focuses control does not. This PR ignores scrollwheeling outside of the focused control.
2019-09-08 18:13:44 -07:00
Fabio Alessandrelli
768d637a1b
Merge pull request #31870 from JFonS/add_network_profiler
Add network profiler
2019-09-05 16:34:36 +02:00
jfons
8244f535cd Add network profiler 2019-09-05 09:48:36 +02:00
Rémi Verschelde
750f8d4926
Merge pull request #31844 from 2shady4u/TweenInSceneTree
Timer and Tween check if they are in SceneTree when starting
2019-09-03 18:35:20 +02:00
shaderbeast
5e337b31eb Added is_inside_tree() check in both Timer and Tween
Tween now throws error and doesnt even execute.
2019-09-03 13:26:41 +02:00
Rémi Verschelde
4dfea5fc9c
Merge pull request #31389 from Calinou/add-node-comments
Add an `editor_description` property to Node for documentation purposes
2019-09-03 12:55:22 +02:00
Rémi Verschelde
a1fe20a57e
Merge pull request #31880 from nekomatata/joystick-ui-navigation
Fixed UI navigation using joy axis inputs
2019-09-03 12:02:18 +02:00
Tomasz Chabora
892318f5c7 Add autocomplete support for change_scene() 2019-09-02 19:07:02 +02:00
PouleyKetchoupp
01c9ad1cdf Fixed UI navigation using joy axis inputs
Fixes #31879
2019-09-02 04:36:58 +02:00
merumelu
5c7c7dbcb5 HTTPRequest: include faulty URLs in error texts 2019-08-31 16:57:46 +02:00
bruvzg
db6d4352ea
[macOS] Add methods to modify global and dock menus. Add ability to open multiple editor/project manager instances, recent/favourite project list to project manager dock menu and opened scene list to editor dock menu. 2019-08-26 16:45:49 +03:00
Hugo Locurcio
9eb10f1e4a
Add an editor_description property to Node for documentation purposes
It is implemented using editor-only metadata, in a way similar to
edit locking or Position2D gizmo extents.

This closes #2082.
2019-08-23 15:53:07 +02:00
Hugo Locurcio
c62302a432
Improve the scene tree signals/groups tooltip
The tooltip now displays the number of connections and groups
that are assigned to the hovered node.
2019-08-17 14:20:16 +02:00
IAmActuallyCthulhu
82b9557803
Remove redundant author doc comments 2019-08-12 04:26:38 -05:00
Tomasz Chabora
af5e0fff66 Remove ERR_EXPLAIN from scene/* code 2019-08-09 13:54:52 +02:00
Rémi Verschelde
4d7439adaa
Merge pull request #31185 from mitchcurtis/get_path
Improve error message in Node::get_path()
2019-08-08 14:05:49 +02:00
Rémi Verschelde
f0ad034a1d
Merge pull request #31182 from mitchcurtis/remove_child
Improve error message in Node::remove_child()
2019-08-08 11:20:50 +02:00
Mitch Curtis
ae4a382dd2 Improve error message in Node::remove_child() 2019-08-08 09:38:32 +02:00
Mitch Curtis
c332eab864 Improve error message in Node::get_path() 2019-08-07 21:16:54 +02:00
Rémi Verschelde
05d58a4e6a
Merge pull request #31122 from Muller-Castro/enhancement
Unnecessary reassignments
2019-08-07 15:23:38 +02:00
Rémi Verschelde
ba541bceca
Merge pull request #31077 from qarmin/coverity_bugs
Change some code proposed by Coverity and Cppcheck
2019-08-07 13:49:33 +02:00
qarmin
e0b5b21863 Add some code changes/fixes proposed by Coverity and Clang Tidy 2019-08-07 12:54:30 +02:00
Muller-Castro
ffacd0a148 Removed unnecessary reassigns
Those assignments are duplicated since add_to_group() or remove_from_group() aren't changing the state of those members.
2019-08-06 17:40:47 -03:00
merumelu
dcd551bf78 Remove Editor dependency from SceneTree 2019-08-05 19:46:23 +02:00
PouleyKetchoupp
c6b82f108a Update transforms after timers update to make sure changes are made before render
Fixes #29952
2019-07-29 12:44:16 +02:00
qarmin
aab8da25ad Fix some code found by Coverity Scan and PVS Studio 2019-07-23 09:14:31 +02:00
Nils ANDRÉ-CHANG
cafb888361 Allow tab key to be used for shortcuts 2019-07-20 22:32:49 +01:00
Rémi Verschelde
d15cf7b672
Merge pull request #30576 from qarmin/lgtm_coverage
Changed some code reported by LGTM and Coverity
2019-07-20 12:00:13 +02:00
qarmin
6cbaf7662f Changed some code showed in LGTM and Coverage 2019-07-20 08:09:57 +02:00
Rémi Verschelde
21a2cd1a04
Merge pull request #23270 from silvanocerza/remote_scene_tree_filter
Implemented remote scene tree filtering
2019-07-19 15:38:07 +02:00
Rémi Verschelde
7a643acb1f
Merge pull request #30517 from kawa-yoiko/modal-freeze
Fix multiple popup freezing
2019-07-12 10:18:02 +02:00
Rémi Verschelde
111154a4a5
Merge pull request #30498 from bojidar-bg/30495-cannot-insert-key
Fix inability to insert keys via Insert Key context menu
2019-07-11 19:36:33 +02:00
Shiqing
c16e764bb2 Fix #29478 multiple modals possibly freeze 2019-07-11 17:40:42 +08:00
Bojidar Marinov
8ecbb6a20d
Fix inability to insert keys via Insert Key context menu
Fixes #30495
2019-07-10 21:03:04 +03:00
Rémi Verschelde
34d7484039
Merge pull request #30455 from qarmin/const_reference
Pass by reference to const
2019-07-10 15:43:15 +02:00
Rémi Verschelde
670e88c749
Merge pull request #30462 from sparkart/master
Fix issue with displaying empty tooltip hint
2019-07-10 13:33:30 +02:00
qarmin
01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
Emmanuel Barroga
1eb9abd4c5 Fix issue with displaying empty tooltip hint
Closes #30448
2019-07-09 07:01:38 -07:00
Fabio Alessandrelli
7f80c1dca8
Merge pull request #30315 from zaksnet/httprequest-add-timeout
Add optional timeout to HTTPRequest
2019-07-09 14:50:12 +02:00
Zak
5fe5c4e8f1 Adds timeout property for httprequest 2019-07-09 12:30:22 +03:00
Michael Alexsander Silva Dias
8255b88d11 Make 'size_override_stretch' a property in 'Viewport' 2019-07-05 22:57:03 -03:00
Bojidar Marinov
f7dad789e9
Fix various memory leaks and errors 2019-07-02 17:23:54 +03:00
Rémi Verschelde
6b30f284a0
Merge pull request #29980 from Dentrax/directed-by-qarmin
Fix some editor crashes
2019-07-01 14:59:29 +02:00
Furkan Türkal
7d8d337b2c fix some crashes 2019-07-01 14:28:29 +03:00
Fabio Alessandrelli
2eac1a64f7 Fix HTTPRequest status checks.
HTTPRequest used to have its own `status` variable but it would never be
updated since the status of the client would be used instead.
This caused potential crashes in some edge cases.
The `status` variable is now removed, and the client status is used in
checks instead.
2019-07-01 09:15:35 +02:00
Bojidar Marinov
0c4c36d823
Add default values to the editor help, docs, and generated RST
Also, make spacing of "=" in the editor help a bit more consistent.
Closes #16086
2019-06-27 18:29:35 +03:00
Rémi Verschelde
eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
Rémi Verschelde
6e9272eea8 Node: Fix logic of has/get_node_and_resource and document it
Also document NodePath.
2019-06-26 15:46:32 +02:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Rémi Verschelde
5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin
072e40368e Fix always true/false values 2019-06-20 16:59:48 +02:00
JohnJLight
38d3bfe971 Made use of semicolons more consitent, fixed formatting 2019-06-19 15:24:31 +02:00
Rémi Verschelde
6d16f2f053 Fix error macro calls not ending with semicolon
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
MrCdK
1810a901d2 Drop the physics mouseover whenever a input has been handled.
Fixes #29575
2019-06-07 17:21:12 +02:00
Rémi Verschelde
62b868fd37
Merge pull request #26942 from RandomShaper/fix-vp-issues
Fix Viewport and Camera issues
2019-05-30 18:31:15 +02:00
Rémi Verschelde
0823ae7ae4 Node::duplicate: Don't set name if original node is nameless
In practice this only happens when duplicating a node which is not in
the scene tree yet, as nameless nodes get assigned a generated name
when added to the scene tree.

Fixes #27319.
2019-05-28 12:40:44 +02:00
Silvano Cerza
f23e1aab34 Implemented remote scene tree filtering
User can now filter the remote scene tree, like the local one is filtered, while
the game is running
2019-05-27 17:46:57 +02:00
Rémi Verschelde
25d2ee677f
Merge pull request #29152 from nekomatata/fix-node-rename-tool-script
Fixed scene tree update after changing node name in tool script
2019-05-24 22:41:37 +02:00
PouleyKetchoupp
3f174c86d0 Fixed scene tree update after changing node name in tool script 2019-05-24 15:27:22 +02:00
clayjohn
65c211d303 Implement ability to render viewports directly to screen 2019-05-13 15:20:15 -07:00
Rémi Verschelde
9dc9434b1b
Merge pull request #24437 from mateusfccp/single_quotes_option
Add settings for single-quotes on completion
2019-04-30 14:58:33 +02:00
Rémi Verschelde
79040656e1
Merge pull request #27869 from jean-dao/scenetree_call_group
Fix: use function in SceneTree::call_group
2019-04-30 10:55:05 +02:00
Rémi Verschelde
18e88c8563
Merge pull request #18992 from aaronfranke/mono-equal-approx
[Core] [Mono] Improve and use approximate equality methods
2019-04-29 10:16:46 +02:00
Aaron Franke
b659e1eb2b
Use approximate equallity methods in many places 2019-04-25 13:20:29 -04:00
James Buck
bc7863775c Cancel tooltip when hiding the node it belongs to 2019-04-25 11:19:31 -05:00
Rémi Verschelde
a342131eba
Merge pull request #27673 from qarmin/small_fixes
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
Rémi Verschelde
201cdd358a
Merge pull request #28140 from Daw11/orphan-nodes
Add a monitor for the orphan nodes
2019-04-22 11:55:15 +02:00
Rémi Verschelde
f25b057846 Fix disable_3d=yes -Wunused-variable errors 2019-04-20 11:07:58 +02:00
Hein-Pieter van Braam-Stewart
20b0046945 Object::script may not be a valid Ref<Script>
It appears that Object::script may be a valid ScriptInstance but not be
castable to Ref<Script>. There were only 5 places in the code that made
this assumption. This commit fixes that.
2019-04-20 02:13:28 +02:00
Daw11
04d0371648 Add a monitor for the orphan nodes
- Allow the user to keep track of the nodes that might leak
- Possible fix for #27103
2019-04-17 23:13:16 +02:00
Juan Linietsky
c1dcdf6109 No more metadata and dependency indices kept in resources saved.
-Node folding is now saved externally together with the properties
-External resources remember their ID when scenes are saved.
2019-04-11 14:36:58 -03:00
Hugo Locurcio
73ad31c0fa
Decrease the default tooltip delay to 0.5 seconds
This matches other applications' and OS' tooltip behaviors
more closely.
2019-04-10 19:45:29 +02:00
Jean Dao
7240701ec9 Fix: use function in SceneTree::call_group
When calling call_group from C++, the function name is not passed on to
call_group_flags, resulting in first argument being mistakenly used
instead of function.
2019-04-09 22:06:33 +02:00
qarmin
856a8226a5 Small fixes, mostly dupicated code 2019-04-08 11:03:37 +02:00
Rémi Verschelde
50ef456c78
Merge pull request #26803 from ptrojahn/emptynode
Make get_node return NULL for empty NodePaths
2019-04-05 16:55:42 +02:00
Juan Linietsky
19a6a6286a Ability to make CanvasLayers have pseudo 3D depth. 2019-04-05 10:25:51 -03:00
Juan Linietsky
a18989602b Clean up notifications and merge Node and MainLoop ones for clarity, closes #27614 2019-04-04 10:34:41 -03:00
Pedro J. Estébanez
5b00cd89d3 Drop mouseover when mouse not in the window
Not that this is critical, but it makes behavior of GUI and 2D/3D picking consistent among them.

This also contributes to dropping GUI focus when the mouse leaves the window (in addition to when it loses focus).
2019-03-30 00:26:16 +01:00
Pedro J. Estébanez
e3fc5fb1db Fix Viewport and Camera issues
1. Consider 'own_world' as well as 'world' to stop propagating enter/exit world notifications.
2. Clean & fix handling of camera currency.

This fixes some random crashes and error logs in the editor; namely
- when enabling/disabling own world in a Viewport;
- when switching back from a subscene displayed into a main scene's Viewport;
- when exiting the editor after any of them;
- memory corruption (can that explain certain other seemingly unrelated crash reports?).

This also fixes situations where a Viewport and its main Camera get out of sync about which World is relevant to them.
2019-03-30 00:25:26 +01:00
Rémi Verschelde
775e74e0d4
Merge pull request #26484 from Andrettin/Configurable-Tooltip-Offset
Make the Tooltip Position Offset Configurable
2019-03-13 20:12:22 +01:00
Rémi Verschelde
bba854bac6
Merge pull request #26851 from RandomShaper/fix-26460-fake-event-flood
Fix fake null-motion mouse event flood
2019-03-09 22:40:53 +01:00
Pedro J. Estébanez
f757460ec8 Fix fake null-motion mouse event flood
This commit also improves a bit the code quality by making the intent of fake events (and themselves) more explicit.

Fixes #26460.
2019-03-09 22:04:17 +01:00
Gilles Roudière
ede5306d7c Fixes UI navigation with joysticks 2019-03-09 21:09:20 +01:00
Paul Trojahn
97e8c88ce7 Make get_node return NULL for empty NodePaths
Fixes #25292
2019-03-08 21:31:36 +01:00
Pedro J. Estébanez
82902656ac Improve/fix picking
Acknowledge mouse button events as position tellers (to make picking more solid; for instance, the touch mouse is raised with a mouse unpressed event that may have a more current position)
Forget mouse position for physics if touch mouse raised (because the position known as last is no longer meaningful)
Remove needless check for mouse over/exit (now there's code to inject an spurious move for cases where camera/objects have moved)
Restrict 2D mouse over/exit to mouse events (including emulated from touch; true touches shouldn't trigger the signals)

Fixes #26460.
2019-03-05 22:33:34 +01:00
Juan Linietsky
03cafd4895 Update focus mask only if there is a focused control, fixes #26524 2019-03-04 10:26:48 -03:00
clayjohn
95837049e8 hide hdr and shadow_contact in gles2 2019-03-02 19:01:26 -08:00
Andrettin
30c07c1ae1 Made the tooltip position offset configurable 2019-03-02 12:11:42 +01:00
Juan Linietsky
7f63b0e8cd Added a workaround to avoid crashes due to how TileSet editor works, fixes #23672
Also fixed a few uninitialized memory variables.
2019-02-22 17:42:29 -03:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Marcelo Fernandez
761caac0b2 Fix possible crash with an invalid last_mouse_focus pointer 2019-02-14 22:16:56 -03:00
Rémi Verschelde
5fc86026ca Fix typos with codespell
Using codespell 1.14.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
Rémi Verschelde
c5dcbeb160 Scene: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `scene/2d/navigation2d.h` -> `navigation_2d.h`
- `scene/2d/screen_button.h` -> `touch_screen_button.h`
- `scene/3d/scenario_fx.h` -> `world_environment.h`
- `scene/audio/audio_player.h` -> `audio_stream_player.h`
- `scene/resources/bit_mask.h` -> `bit_map.h`
- `scene/resources/color_ramp.h` -> `gradient.h`
- `scene/resources/shape_line_2d.h` -> `line_shape_2d.h`
- `scene/resources/scene_format_text.h` -> `resource_format_text.h`
- `scene/resources/sky_box.h` -> `sky.h`

Dropped:
- `scene/resources/bounds.h`
2019-02-12 17:21:48 +01:00
Rémi Verschelde
3dd00e77b4
Merge pull request #25524 from Calinou/fix-font-oversampling-warning
Fix a font oversampling warning being printed when it shouldn't
2019-02-08 11:52:45 +01:00
Hugo Locurcio
355d65aa8d
Fix a font oversampling warning being printed when it shouldn't 2019-01-31 19:49:10 +01:00
K. S. Ernest (iFire) Lee
b83c3827f3 Add check in folding to see if the nodepath exists to avoid message spam. 2019-01-30 20:19:44 -08:00
Juan Linietsky
c2f59de212 Warn of invalid pointer when converting object to RID, closes #19023 2019-01-26 15:41:26 -03:00
Juan Linietsky
b203f80dfc Rewrite how font oversampling is updated more carefully, fixes #24338 2019-01-26 14:57:17 -03:00
Juan Linietsky
93d8f3cdd5 respect mouse mode when setting enter/exit notifications and signals, fixes #19785 2019-01-18 17:53:36 -03:00
Michael Alexsander Silva Dias
9c69d7f339 Appease some CppCheck warns for files in the "scene" directory 2019-01-16 12:59:18 -02:00
Juan Linietsky
91290f0ded Added a flag to specify an exported node path must be supplied from scene root, fixes #24412 2019-01-14 15:46:56 -03:00
Rémi Verschelde
1ff170e67f Redo serial name fixup from 799ed2b989
reduz wanted the original PR reverted due to issues, so this follow-up had to be too
(done in 8cb54182ad). But he ended up adapting part of
the original PR in 27d7772381 without including this fix.
2019-01-11 23:02:57 +01:00
Juan Linietsky
27d7772381 Rewrote rename logic to be less buggy and more efficient, fixes #23803 and probably many recent bugs using GraphEdit 2019-01-10 18:58:16 -03:00
Rémi Verschelde
8cb54182ad Revert "Node: make _generate_serial_child_name manipulate numbers as String"
This reverts commits 1025e3ecea
and 799ed2b989.
2019-01-10 22:40:42 +01:00
volzhs
799ed2b989 Fix strip out spaces while generating serial number for node name 2019-01-08 22:37:45 +09:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Arjen van Staalduinen
ef9313f415 fix near infinite loop when no previous mouse position
Added physics_has_last_mousepos to better deal with
situations where there is no last_mousepos
2018-12-19 13:35:41 +01:00
Mateus Felipe C. C. Pinto
ca1935d6f7 Add settings for single-quotes on completion 2018-12-18 12:48:36 -02:00
Konrad Nowakowski
7491e910f3 Fix touch release event on _gui_input 2018-12-14 18:28:11 +00:00
Rémi Verschelde
4c41e29c8e
Merge pull request #23923 from bruvzg/ime_gdscript
Changes IME to make it possible to use it from gdscript/gdnative
2018-12-11 18:00:48 +01:00
Rémi Verschelde
bf59b73250
Merge pull request #20609 from YeldhamDev/menu_hover_explicit
Make opening menus with the same parent on mouse focus explicit
2018-12-09 23:15:33 +01:00
Guilherme Felipe
26c1af4848 Add missing validations
Add missing validations to prevent crash of multiple mouse buttons being
pressed
2018-12-02 22:38:54 -02:00
Guilherme Felipe
ea6a5bb8fb Fix crash when multiple mouse buttons is pressed. 2018-12-01 11:25:43 -02:00
Juan Linietsky
167eb269ec Fixes crash, closes #24038 2018-11-28 13:10:23 -03:00
Juan Linietsky
39028cc161 Improved the mouse focus system (mouse keeps focus on a control while buttons are pressed). Fixes #19154 and likely many others.
WARNING: Test well in every OS, if mouse wheel events are not properly sent as pressed+unpressed pair, it will fail and break (and the OS needs to be fixed). Only tested on X11 so far.
2018-11-28 09:33:13 -03:00
bruvzg
4554c682e6
Changes IME input to use notification instead of callback, exposes IME methods to gdscript/gdnative. 2018-11-23 14:07:48 +02:00
lupoDharkael
1025e3ecea Node: make _generate_serial_child_name manipulate numbers as String
The conversion from an String to int can overflow int and int64
so it is safer to manipulate strings when we try to find the next
available name for a Node.
2018-11-21 14:18:34 +01:00
Michael Alexsander Silva Dias
da7d3c5a58 Make opening menus with the same parent on mouse focus explicit 2018-11-20 20:37:45 -02:00
Juan Linietsky
55ded6b2de Properly handle multiple parent drag, fixes #19460 2018-11-19 18:38:07 -03:00
Juan Linietsky
2d6b994e47 Massive speed up on deleting nodes, fixes #18673
Also makes the editor exit faster
2018-11-18 11:48:21 -03:00
Juan Linietsky
3331ececc4 Do not allow controls in ignore mouse to get focus via their children, fixes #17955 2018-11-16 13:47:21 -03:00
Rémi Verschelde
193324f354
Merge pull request #23734 from RandomShaper/fix-canvas-layer-out-of-tree
Fix CanvasLayer trying to re-stack while out of tree
2018-11-16 15:15:48 +01:00
Pedro J. Estébanez
5dac6ef486 Fix CanvasLayer trying to re-stack while out of tree
Fixes #23718.
2018-11-16 01:01:17 +01:00
Juan Linietsky
80a90ca824 -Send mouse motion events again to CollisionObjects (Area/Body) if they move, even if mouse does not. Fixes #16536 (likely many others should check)
-Add ability for viewports to set input events as handled locally
2018-11-15 13:56:57 -03:00
Juan Linietsky
c5656b7468
Merge pull request #23564 from endragor/fix-remove-child-ordering
Notify node's moved children after sibling removed
2018-11-14 20:30:41 +01:00
Juan Linietsky
37c5aa1084 Add a limit of previously known last element to timer timeout traversal in SceneTree, fixes #15559 2018-11-13 20:11:22 -03:00
Juan Linietsky
f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -03:00
Juan Linietsky
daa1686772
Merge pull request #21386 from RandomShaper/fix-picking-in-canvas-layers
Fix picking in CanvasLayer
2018-11-07 17:51:27 -03:00
Ruslan Mustakov
3b02cd3e71 Notify node's moved children after sibling removed
Fixes #16213.
2018-11-07 16:31:25 +07:00
Juan Linietsky
65e3ef705b
Merge pull request #21962 from YeldhamDev/switch_hover_submenu
Fix MenuButton hover switching not happening with submenus open
2018-11-01 17:01:51 -03:00
Rémi Verschelde
b573bf8547
Merge pull request #23411 from RandomShaper/fix-same-layer-not-deterministic
Fix canvas stacking not deterministic on same layer
2018-11-01 19:31:09 +01:00
Pedro J. Estébanez
cf8976de41 Fix canvas stacking not deterministic on same layer
Fixes #22687.
2018-10-30 21:53:00 +01:00
Juan Linietsky
e647342140 Moved folding outside the resource files, now saved outside the project. 2018-10-29 16:37:09 -03:00
Rémi Verschelde
9de724f327
Merge pull request #23091 from aaronfranke/mingw-warnings
Fix some compile warnings for Windows from Linux
2018-10-25 15:09:11 +02:00
Rémi Verschelde
1169196f04
Merge pull request #22779 from Superwaitsum/LimitSettings
Limit several project settings
2018-10-25 11:38:06 +02:00
Superwaitsum
e5041ad0f5 Add some limits on the Editor Settings 2018-10-24 19:46:33 -05:00
Aaron Franke
dc2e73499a Fix compile warnings for Windows from Linux
At least the ones I got when I compiled it using Mingw64 POSIX on Xubuntu 18.04. Plus use the Size2 of get_window_size() directly, rather than reconstructing it.
2018-10-19 09:11:14 -04:00
DualMatrix
6afedaa498 Fixed error when duplicating a scene which has connection
Fixed error when duplicating a scene which has connection
2018-10-11 01:30:12 +02:00
Rémi Verschelde
344a453bb8
Merge pull request #22681 from akien-mga/fix-warnings
Fix warnings on release builds and some MSVC warnings
2018-10-03 19:05:55 +02:00
Rémi Verschelde
95131e6f23 Fix warnings on release builds (not DEBUG_ENABLED)
Fixes the following Clang 5 warnings:
```
modules/bmp/image_loader_bmp.cpp:46:60: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
modules/bmp/image_loader_bmp.cpp:48:61: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
drivers/png/image_loader_png.cpp:231:20: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
scene/gui/graph_edit.cpp:1045:8: warning: comparison of constant 0 with expression of type 'bool' is always false [-Wtautological-constant-out-of-range-compare]

core/class_db.cpp:812:13: warning: unused variable 'check' [-Wunused-variable]
core/io/file_access_pack.cpp:172:11: warning: unused variable 'ver_rev' [-Wunused-variable]
core/math/bsp_tree.cpp:195:13: warning: unused variable 'plane' [-Wunused-variable]
core/math/bsp_tree.cpp:168:6: warning: unused variable 'plane_count' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:685:10: warning: unused variable 'ok' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:706:10: warning: unused variable 'ok' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:755:19: warning: unused variable 'var_type' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:1306:12: warning: unused variable 'err' [-Wunused-variable]

modules/gdscript/gdscript_function.cpp:158:15: warning: unused function '_get_var_type' [-Wunused-function]
modules/gdscript/gdscript_parser.cpp:750:20: warning: unused variable 'lv' [-Wunused-variable]
modules/gdscript/gdscript_parser.cpp:59:15: warning: unused function '_find_function_name' [-Wunused-function]
scene/main/node.cpp:2489:13: warning: unused function '_Node_debug_sn' [-Wunused-function]
```
2018-10-03 17:34:55 +02:00
DualMatrix
cb9559350f Fixed error when duplicating node from editor.
Fixed error when duplicating node from editor.
2018-10-03 14:59:16 +02:00
Rémi Verschelde
3a2ca68af3 SCons: Build thirdparty code in own env, disable warnings
Also remove unnecessary `Export('env')` in other SCsubs,
Export should only be used when exporting *new* objects.
2018-09-28 14:07:39 +02:00
Rémi Verschelde
7b081a7fc8 Fix warnings about unhandled enum value in switch [-Wswitch]
Fixes GCC 5 warnings of the form:

core/io/http_client.cpp:288:9: warning: enumeration value 'STATUS_SSL_HANDSHAKE_ERROR' not handled in switch [-Wswitch]
core/io/marshalls.cpp:806:9: warning: enumeration value 'AABB' not handled in switch [-Wswitch]

Those can be trivial cases where adding a default fallback is the solution,
or more complex issues/hidden bugs where missed values are actually meant
to be handled.
2018-09-27 18:34:30 +02:00
Rémi Verschelde
d95bbb8922 Fix warnings about set but unused variables [-Wunused-but-set-variable]
Fixes the following GCC 5 warnings:
```
drivers/gles2/rasterizer_canvas_gles2.cpp:814:8: warning: variable 'rt_size' set but not used [-Wunused-but-set-variable]
drivers/gles2/rasterizer_scene_gles2.cpp:2270:11: warning: variable 'vp_height' set but not used [-Wunused-but-set-variable]
drivers/gles2/rasterizer_scene_gles2.cpp:2673:22: warning: variable 'e' set but not used [-Wunused-but-set-variable]
drivers/gles2/rasterizer_scene_gles2.cpp:715:7: warning: variable 'no_cull' set but not used [-Wunused-but-set-variable]
drivers/gles2/shader_gles2.cpp:693:14: warning: variable 'cc' set but not used [-Wunused-but-set-variable]
drivers/gles3/rasterizer_canvas_gles3.cpp:1226:8: warning: variable 'rt_size' set but not used [-Wunused-but-set-variable]
drivers/gles3/rasterizer_scene_gles3.cpp:3039:10: warning: variable 'contrib' set but not used [-Wunused-but-set-variable]
drivers/gles3/rasterizer_scene_gles3.cpp:4504:32: warning: variable 'vp_height' set but not used [-Wunused-but-set-variable]
editor/editor_inspector.cpp:272:9: warning: variable 'guide_color' set but not used [-Wunused-but-set-variable]
editor/editor_themes.cpp:1067:14: warning: variable 'alpha3' set but not used [-Wunused-but-set-variable]
editor/editor_themes.cpp:263:8: warning: variable 'script_bg_color' set but not used [-Wunused-but-set-variable]
editor/plugins/collision_shape_2d_editor_plugin.cpp:326:11: warning: variable 'cpoint' set but not used [-Wunused-but-set-variable]
editor/plugins/mesh_editor_plugin.cpp:72:9: warning: variable 'size' set but not used [-Wunused-but-set-variable]
editor/plugins/shader_editor_plugin.cpp:471:12: warning: variable 'mpos' set but not used [-Wunused-but-set-variable]
editor/plugins/shader_editor_plugin.cpp:89:8: warning: variable 'basetype_color' set but not used [-Wunused-but-set-variable]
editor/plugins/shader_editor_plugin.cpp:90:8: warning: variable 'type_color' set but not used [-Wunused-but-set-variable]
editor/plugins/shader_editor_plugin.cpp:92:8: warning: variable 'string_color' set but not used [-Wunused-but-set-variable]
modules/visual_script/visual_script_editor.cpp:2521:7: warning: variable 'seq_connect' set but not used [-Wunused-but-set-variable]
platform/android/export/export.cpp:580:12: warning: variable 'styles_count' set but not used [-Wunused-but-set-variable]
platform/android/export/export.cpp:584:12: warning: variable 'styles_offset' set but not used [-Wunused-but-set-variable]
platform/osx/export/export.cpp:464:9: warning: variable 'zerr' set but not used [-Wunused-but-set-variable]
scene/2d/tile_map.cpp:260:10: warning: variable 'tcenter' set but not used [-Wunused-but-set-variable]
scene/3d/light.cpp:166:7: warning: variable 'editor_ok' set but not used [-Wunused-but-set-variable]
scene/3d/navigation.cpp:566:11: warning: variable 'closest_navmesh' set but not used [-Wunused-but-set-variable]
scene/gui/rich_text_label.cpp:869:8: warning: variable 'size' set but not used [-Wunused-but-set-variable]
scene/main/viewport.cpp:705:14: warning: variable 'xform' set but not used [-Wunused-but-set-variable]
scene/main/viewport.cpp:706:8: warning: variable 'ss' set but not used [-Wunused-but-set-variable]
scene/main/viewport.cpp:726:14: warning: variable 'xform' set but not used [-Wunused-but-set-variable]
scene/main/viewport.cpp:727:8: warning: variable 'ss' set but not used [-Wunused-but-set-variable]
scene/resources/material.cpp:430:7: warning: variable 'using_world' set but not used [-Wunused-but-set-variable]
servers/visual/shader_language.cpp:2026:7: warning: variable 'all_const' set but not used [-Wunused-but-set-variable]
servers/visual/visual_server_scene.cpp:1383:28: warning: variable 'z_max_cam' set but not used [-Wunused-but-set-variable]
```

Also fixes two [-Wunused-value] warnings:
```
scene/gui/text_edit.cpp:4405:20: warning: statement has no effect [-Wunused-value]
servers/visual/visual_server_scene.cpp:905:48: warning: value computed is not used [-Wunused-value]
```

Some of those are bugs and need further work, they are identified with
`// FIXME` comments.
2018-09-27 16:25:24 +02:00
Rémi Verschelde
81d713e5c2
Merge pull request #22342 from DualMatrix/duplicate_no_fun
Fixed duplicating nodes not attaching script in-game with Sync Scene Changes enabled
2018-09-23 11:57:03 +02:00
Max Hilbrunner
d878c828b5
Merge pull request #22115 from akerudesu/find-parent
Added find_parent method to node class
2018-09-22 17:15:38 +02:00
DualMatrix
9dec4dc07b Fixed duplicating nodes not attaching script in-game with Sync Scene Changes enabled
Fixed duplicating nodes not attaching script in-game with Sync Scene Changes enabled.
2018-09-22 12:37:21 +02:00
Rémi Verschelde
88ebd710f9
Merge pull request #22071 from DualMatrix/preserve_group
Made duplicate_and_reown preserve groups
2018-09-20 15:50:14 +02:00
Unknown
0fdbf6b2ef Added find_parent method to node class 2018-09-15 18:22:29 +02:00
Michael Alexsander Silva Dias
585ad5c8ea Expose "get_modal_stack_top()" to GDScript 2018-09-14 16:35:52 -03:00
DualMatrix
b0d9f7686c Made duplicate_and_reown preserve groups 2018-09-14 18:13:41 +02:00
Fabio Alessandrelli
ab0e610e86 Fix non chunked HTTP reading till eof. 2018-09-12 12:42:48 +02:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Michael Alexsander Silva Dias
592eda7ad9 Fix MenuButton hover switching not happening with submenus open 2018-09-11 01:44:19 -03:00
Juan Linietsky
4b6846a59d Ensure that tree_exited signal really happens after tree exited, fixes #19641 2018-09-07 15:31:53 -03:00
Kelly Thomas
1dc8e7c05f Improve ClassDB information for some some signal parameters 2018-09-01 18:05:51 +08:00
Pedro J. Estébanez
6d0f4a4ad7 Fix picking in CanvasLayer
New APIs in 2D physics allow intersection queries filtered by CanvasLayer object instance id. Viewport keep an inventory of its descendant CanvasLayers and takes advantage of all that to test picking with the mouse/touch position correctly transformed for each CanvasLayer.
2018-08-25 00:03:26 +02:00
Juan Linietsky
683c3f2fcf Avoid misuse of set_drag_preview() function where it shouldn't be. Closes #20100 2018-08-24 10:30:11 -03:00
Rémi Verschelde
52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Rémi Verschelde
ab3716bd46 Revert "Take CanvasLayer transform into account for 2D physics"
This reverts commit 4839e5f6d9.

Fixes #21289.
2018-08-23 21:49:24 +02:00
Rémi Verschelde
ed10ff65fd
Merge pull request #21245 from RandomShaper/fix-physics-canvas-xform
Take CanvasLayer transform into account for 2D physics
2018-08-21 21:46:04 +02:00
Rémi Verschelde
404ee1a56b Style: Fix issues that went past CI 2018-08-21 21:28:06 +02:00
Juan Linietsky
ee07fb5ebe Changes to ClippedCamera, RayCast,Raycast2D and 2D physics API to add ability to choose between bodies and areas when colliding. 2018-08-21 15:31:23 -03:00
Pedro J. Estébanez
4839e5f6d9 Take CanvasLayer transform into account for 2D physics
Fixes #18073.
2018-08-21 20:10:15 +02:00
Rémi Verschelde
968886768b Lift 1440 limit in rotation_degrees hint range
Fixes #15947.
2018-08-16 14:36:38 +02:00
volzhs
4e9795aa99 Fix not to show configuration warning on every node has script 2018-08-15 21:35:06 +09:00
Juan Linietsky
4e55835e48
Merge pull request #18096 from aaronfranke/master
[Core] Split up math_2d.h
2018-08-14 18:58:32 -03:00
Juan Linietsky
ef5095720b -Deprecate ImageTexture::load
-Add warning to Image::load when loading resources
-Add script binding for get_configuration_warning
2018-08-14 16:53:20 -03:00
Aaron Franke
cf136a91d6 [Core] Completely kill math_2d.h, change includes 2018-08-11 03:08:34 -05:00
Andrea Catania
c1860fe88b Fixed process priority 2018-08-04 14:51:44 +02:00
Juan Linietsky
15db793ef2 Ensure process notification is received only if really enabled, fixes #7894 2018-07-29 21:20:41 -03:00
Ibrahn Sahir
1626ae6421 fixed uninitialised variable that was causing menu crash. 2018-07-28 18:09:47 +01:00
Hein-Pieter van Braam
0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Guilherme Felipe
d1f5deabd8 Opens the menu with the same parent on mouse focus 2018-07-24 19:59:40 -03:00
Juan Linietsky
172f652dc0
Merge pull request #19888 from AndreaCatania/pry
Implemented proceses priority
2018-07-23 07:21:38 -03:00
Andrea Catania
51dfa10ac7 Implemented proceses priority 2018-07-23 12:19:38 +02:00
Juan Linietsky
336db8bcd1 -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
Rémi Verschelde
7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
Max Hilbrunner
a8a318161b
Merge pull request #19015 from toger5/fixed_scrolling_with_trackpad_in_new_inspector
fixed scrolling in new ispector when using trackpad pan gesture
2018-07-05 00:22:06 +02:00
GagaPete
8a4dccc4ce Fix CORS problems due to added headers on JS target
Before this change, missing User-Agent and Accept headers were automatically
added on all platforms. Setting the User-Agent header forces the browser to
do a CORS preflight (see 1) which fails if the HTTP endpoint is not
configured appropriate. It's not neccesary to set either header as the
browser sets them and so this commit disables that functionality on the JS
target.

1: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
2018-07-04 01:56:44 +02:00
Juan Linietsky
085483e885 -Fix fullscreen on Windows with a HiDPI monitor but a non-HiDPI project
-Replaced some viewport size calls to screen size, since viewport size should be deprecated at this point..
2018-07-03 18:53:27 -03:00
Max Hilbrunner
465edbd2bc
Merge pull request #19853 from khairul169/duplicate_bug
Fix duplicate method on instanced node generates duplicated children.
2018-07-03 18:48:45 +02:00
Marcelo Fernandez
deebeb2742 Add a new notification to detect crashes on native scripts 2018-07-02 16:18:58 -03:00
Juan Linietsky
2dc738ce27 -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios
-Fixes to some duplication scenarios for instanced scenes
2018-07-02 15:08:35 -03:00
khairul169
8e03715a5c Fix duplicate bug 2018-06-30 17:35:51 +07:00
Juan Linietsky
eeab3502d5 Changes to how node paths are selected from property, allowing setting a hint. 2018-06-27 20:50:25 -03:00
Marcelo Fernandez
8c1c7ff131 Add missing NULL checks for add_child_below_node 2018-06-19 22:47:34 -03:00
Guilherme Felipe
aa53c032ed Fix regression with cursor shape 2018-06-07 15:12:59 -03:00
Juan Linietsky
b659fd6d74 Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
Fabio Alessandrelli
348725dfe0 Add option to disable automatic multiplayer poll
Automatic poll from SceneTree is enabled by default.
This allows for polling (and thus RPCs/RSETs) manually in other loops
(e.g. physics, thread, specific step) and for proper mutex protecion
when accessing the multiplayer API from threads (e.g. for sending larger
files in chunks).
2018-06-03 18:58:04 +02:00
Fabio Alessandrelli
1400f6fdc4 Refactor RPCMode enum and checks 2018-05-29 20:26:41 +02:00
Max Hilbrunner
4c69a495c9
Revert "RPCMode refactor, more sync modes" 2018-05-29 11:47:52 +02:00
Fabio Alessandrelli
9de4ffde61 Refactor RPCMode enum and checks 2018-05-26 10:43:43 +02:00
Webster Sheets
1198662b2b Revert #14753, as it is buggy and no longer necessary. 2018-05-24 16:10:25 -04:00
toger5
0e015f6023 fixed scrolling in new ispector when using trackpad pan gesture 2018-05-18 18:47:39 +02:00
Rémi Verschelde
93c4274941
Merge pull request #18928 from BastiaanOlij/fix_viewport_flags
Store flags so it isn't lost when viewport isn't setup yet
2018-05-16 15:11:20 +02:00
Bastiaan Olij
0fc4f22522 Store flags so it isn't lost when viewport isn't setup yet 2018-05-16 22:19:45 +10:00
Juan Linietsky
005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00
Max Hilbrunner
e744d12e56
Merge pull request #18709 from Faless/multiplayer_docs
Rename multiplayer_api to multiplayer, add docs
2018-05-09 01:41:01 +02:00
Juan Linietsky
d5c3fc1522
Merge pull request #15119 from poke1024/visible-subwindows
More efficient subwindow handling
2018-05-08 09:49:34 -03:00
Juan Linietsky
c54ac6a15d
Merge pull request #15074 from PJB3005/17-12-26-remove_gui_focus_on_visibility_loss
Hiding a Control now fires NOTIFICATION_FOCUS_EXIT.
2018-05-08 09:40:44 -03:00
Fabio Alessandrelli
234914c42c Rename multiplayer_api to just multiplayer.
Only the class name retain the MultiplayerAPI name
2018-05-08 10:51:04 +02:00
Geequlim
56c2463f8c Fix double free for drag preview control in viewport 2018-05-08 13:52:38 +08:00
Juan Linietsky
7b85c9d0ea
Merge pull request #17295 from eon-s/instance-placeholder
Make InstancePlaceholder more flexible by allowing to instance without removing it.
2018-05-07 20:23:34 -03:00
Juan Linietsky
7b065a59fa
Merge pull request #15911 from Zephilinox/ready_signal
Add ready signal to Node
2018-05-07 17:56:10 -03:00
Juan Linietsky
38aaf78325
Merge pull request #18524 from BastiaanOlij/keep_3d_linear
Added option to viewport to keep linear color
2018-05-07 09:24:39 -03:00
Max Hilbrunner
e15305721d
Merge pull request #18454 from KidRigger/working_timer
Allows setting the Timer wait_time in start method.
2018-05-07 09:37:11 +02:00
Bastiaan Olij
6f7fefa489 Added option to viewport to keep linear color 2018-05-06 19:28:09 +10:00
Rémi Verschelde
b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
API hash fixes
2018-05-03 14:36:32 +02:00
Rémi Verschelde
741637b966
Merge pull request #18451 from volzhs/node-name
Check invalid node name
2018-05-02 22:21:31 +02:00
volzhs
6758b6c131 Check invalid node name 2018-05-03 00:00:06 +09:00
Pedro J. Estébanez
de9d40a953 Implement universal translation of touch to mouse
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)

The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.

Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.

*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.

On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.

Plus: Improve/fix tracking of current mouse position.

** Summary of changes to settings: **

- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-30 19:03:38 +02:00
Ignacio Etcheverry
7034d48032 Fix binding some core API methods only in tools builds 2018-04-29 19:49:26 +02:00
Anish
f714637e58 Allows setting the Timer wait_time in start method.
Allows shortening the two line method of Timer.set_wait_time
followed by Timer.start set wait_time as a parameter to
Timer.start. Also modifies the class documentation.

Fixes: #18107
2018-04-27 01:17:20 +05:30
Guilherme Felipe
4f05190fb0 Implement Input.set_default_cursor_shape to change the default shape
Closes #18043
2018-04-10 11:38:34 -03:00
Geoffrey
8362ce4769 Made print_tree_pretty() function which displays scene tree graphically 2018-04-09 15:01:37 +02:00
Juan Linietsky
e9e5aa617e
Merge pull request #17227 from Faless/multiplayer_api
[RFC] MultiplayerAPI refactor
2018-04-08 11:04:16 -03:00
Juan Linietsky
4ee3f3251d
Merge pull request #17382 from bojidar-bg/13971-path-array-unsaved
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-08 09:39:03 -03:00
Juan Linietsky
9e7cee2ceb Removed strange custom world2d in CanvasLayer, been there since always and not sure why.
Fixes #17524, fixes #17523.
2018-04-07 19:43:09 -03:00
Pedro J. Estébanez
259ed1d400 Improve popup menus usability
It seems that popups were intended to "grab" the mouse click that triggered them, but their intent was being lost. This commit does the necessary changes to let it happen and updates items that were trying to get advantage of it, because the semantics of `Control::grab_click_focus()` have changed a bit. Namely, it must be called **before** showing the modal.

This allows to popup a menu and activate an item in it in a single click-point-release cycle, instead of having to click once to open the menu and once more to pick an item.

This ability is extended even to context menus activated with the RMB (or any other mouse button, for that matter). The editor benefits from this in the context menu of the tree dock, which has been patched to opt-in for this feature.

This improves UX a bit by saving unnecessary clicks.

From now on, `PopupMenu` always grabs the click and also invalidates the first button release unless the mouse has moved (that's what `set_invalidate_click_until_motion()` was doing and now it's removed), so there is no longer the need of doing both things at every point a pop-up menu is shown.
2018-04-07 01:06:02 +02:00
Rémi Verschelde
01bb39ac3f
Merge pull request #17321 from LinkDoyle/issue_16350
Fix switching WindowDialog types leaves garbage buttons
2018-03-23 11:38:59 +01:00
Ruslan Mustakov
47747718d6 Fix oversampled font artifacts after resize
Font update after resize relies on the viewport size which was updated
after the font was already refreshed, which resulted in artifacts when
it was rendered into the actual/new viewport size.

Fixes #15173.
2018-03-19 20:44:26 +07:00
Fabio Alessandrelli
c531262190
Merge pull request #16947 from Faless/ui_actions
GUI elements ui_action usage, improvements
2018-03-16 20:55:11 +01:00
Hein-Pieter van Braam
99f286e23f
Merge pull request #17264 from poke1024/fix-gesture-key-event-accepted
Fix gesture events being blocked
2018-03-15 23:13:04 +01:00
Bojidar Marinov
9f6c0c6eae
Duplicate Arrays and Dictionaries when instancing scene in editor
Also, add deep (=false) parameter to Array.duplicate and Dictionary.duplicate

Fixes #13971
2018-03-13 17:18:08 +02:00
Link
611c050469 Fix switching WindowDialog types leaves garbage buttons
We can distinguish between node-specific children and custom children by `child->is_owned_by_parent()`.

Fixes: #16350
2018-03-07 18:28:29 +08:00
eon-s
5e427190bc Added create_instance
Allows to create an instance from an `InstancePlaceholder` without removing the placeholder.

Deprecates `replace_by_instance`.
2018-03-05 22:57:17 -03:00
Bernhard Liebl
166c2bdea7 Fix gesture events being blocked 2018-03-04 22:19:10 +01:00
Fabio Alessandrelli
5081ced57f Use MultiplayerAPI class for high level networking
Remove networking related logic from Node and SceneTree.
SceneTree now simply relay all networking related stuff to
MultiplayerAPI for compatibility
2018-03-03 18:34:22 +01:00
Ranoller
979dccbd8d
FIX Windows enter/exit mouse notifications
Fix to this issue #17202
2018-03-03 03:42:38 +01:00
Rémi Verschelde
ce7da2c7d6 Viewport: Fix missing tooltips w/ disabled physics object picking
Previously this option seemed to be the sole responsible for enabling
physics processing in Viewport, while several other features like
tooltips and debugging collision hints rely on it.

All this logic is moved to internal processing (it's incorrect to let
it be affected by users disabling physics/idle processing), and disabling
physics object picking no longer affects the internal physics processing.

Fixes #17001.
2018-03-01 16:01:10 +01:00
Hein-Pieter van Braam
d702d7b335 Fix various valgrind reported uninitialized variable uses 2018-02-28 21:55:13 +01:00
Rémi Verschelde
23ebae01dc Refactor version macros and fix related bugs
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).

The new logic defines:

- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
  depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
  and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
  (e.g. official, custom_build, mageia, etc.)
  Note: Slight change here, as the previous format had the build name
  *before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
  with "Godot v" for readability

Bugs fixed thanks to that:

- Export templates version matching now properly takes VERSION_PATCH
  into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
  itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
  for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
Fabio Alessandrelli
90b9449844 Properly set input as handled when closing modal 2018-02-23 13:01:28 +01:00
luz.paz
612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Artem Varaksa
d35e486228 Clean up some bad words from code comments 2018-02-17 16:00:39 +03:00
Zephilinox
a826fb8d8b Add ready signal to Node
Closes #15889
2018-01-20 21:57:59 +00:00
Rémi Verschelde
598724c043 Remove obsolete Viewport _update_rect() code 2018-01-18 22:37:45 +01:00
Rémi Verschelde
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Juan Linietsky
a26e6c8215 Renamed tree_exited to tree_exiting. tree_exited is now used for actual out of tree notification.
Updated doc accordingly.
2018-01-12 08:29:24 -03:00
Bojidar Marinov
9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
AndreaCatania
5ac441131e Fixed crash on duplicate GIProbe baking 2018-01-11 19:50:33 +01:00
Poommetee Ketson
768fd83e61 Fix typo in new strings 2018-01-06 21:33:11 +07:00
Juan Linietsky
90d47ae23d Force button release when window focuses out, fixes #15318 and likely many other issues. 2018-01-05 15:40:08 -03:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
ffd6838704
Merge pull request #15192 from volzhs/expose-quit-on-go-back
Bind SceneTree::set_quit_on_go_back() to gdscript
2018-01-03 12:14:16 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Noshyaar
7d0212f4eb
Merge pull request #14953 from poke1024/fix-toolbar-gesture
Hide tooltip on gesture input
2018-01-01 18:53:11 +07:00
volzhs
c132d873b1 Bind SceneTree::set_quit_on_go_back() to gdscript
Fix #15189
2017-12-30 21:15:17 +09:00
Bernhard Liebl
098bcf55d0 More efficient subwindow handling 2017-12-28 11:27:43 +01:00
Noshyaar
ab444a8ca9
Merge pull request #14996 from neikeq/enums-mono
Mono: Make the bindings generator output enums
2017-12-27 10:29:00 +07:00
PJB3005
7f0a1c1780 Hiding a control now fires NOTIFICATION_FOCUS_EXIT.
It always removed the focus from the control, but this happened without firing the relevant notification.
2017-12-26 20:58:53 +01:00
Juan Linietsky
02e883713a
Merge pull request #14977 from volzhs/fix-crash-group
Fix crash & error at saving scene
2017-12-26 11:43:02 -03:00