Commit Graph

710 Commits

Author SHA1 Message Date
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