summaryrefslogtreecommitdiff
path: root/scene/main/scene_tree.cpp
AgeCommit message (Collapse)Author
2020-01-03Add a shorthand for setting the exit code using `SceneTree::quit()`Hugo Locurcio
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-01Update copyright statements to 2020Rémi Verschelde
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.
2019-12-10Removed unused variables, add some constants numbersRafał Mikrut
2019-11-16Rename External MSAA to AndroidVR MSAAHolger Dammertz
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-11Add special external MSAA modes for GLES2 Rift S/Quest and OpenXR optimisationBastiaan Olij
2019-10-23Implement game camera overrideErik
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-19Fixed leak on exit when using yield with SceneTreeTimerPouleyKetchoupp
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-14Small fixes to redundand code, copy paste bugsqarmin
2019-10-01Merge pull request #30919 from nekomatata/timer-update-transform-fixRémi Verschelde
Fix GPU particle transform delay when created on SceneTree timer timeout
2019-09-19Add new events and accompanying logic to notify when the app is paused and ↵fhuya
resumed on Android devices.
2019-09-05Merge pull request #31870 from JFonS/add_network_profilerFabio Alessandrelli
Add network profiler
2019-09-05Add network profilerjfons
2019-09-02Add autocomplete support for change_scene()Tomasz Chabora
2019-08-26[macOS] Add methods to modify global and dock menus. Add ability to open ↵bruvzg
multiple editor/project manager instances, recent/favourite project list to project manager dock menu and opened scene list to editor dock menu.
2019-08-09Remove ERR_EXPLAIN from scene/* codeTomasz Chabora
2019-08-05Remove Editor dependency from SceneTreemerumelu
2019-07-29Update transforms after timers update to make sure changes are made before ↵PouleyKetchoupp
render Fixes #29952
2019-07-23Fix some code found by Coverity Scan and PVS Studioqarmin
2019-07-19Merge pull request #23270 from silvanocerza/remote_scene_tree_filterRémi Verschelde
Implemented remote scene tree filtering
2019-07-10Use reference to constant in functionsqarmin
2019-07-02Fix various memory leaks and errorsBojidar Marinov
2019-06-27Add default values to the editor help, docs, and generated RSTBojidar Marinov
Also, make spacing of "=" in the editor help a bit more consistent. Closes #16086
2019-06-11Fix error macro calls not ending with semicolonRémi Verschelde
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-05-27Implemented remote scene tree filteringSilvano Cerza
User can now filter the remote scene tree, like the local one is filtered, while the game is running
2019-05-24Fixed scene tree update after changing node name in tool scriptPouleyKetchoupp
2019-04-30Merge pull request #27869 from jean-dao/scenetree_call_groupRémi Verschelde
Fix: use function in SceneTree::call_group
2019-04-25Use approximate equallity methods in many placesAaron Franke
2019-04-09Fix: use function in SceneTree::call_groupJean Dao
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-04Clean up notifications and merge Node and MainLoop ones for clarity, closes ↵Juan Linietsky
#27614
2019-01-31Fix a font oversampling warning being printed when it shouldn'tHugo Locurcio
2019-01-26Warn of invalid pointer when converting object to RID, closes #19023Juan Linietsky
2019-01-26Rewrite how font oversampling is updated more carefully, fixes #24338Juan Linietsky
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-23Changes IME input to use notification instead of callback, exposes IME ↵bruvzg
methods to gdscript/gdnative.
2018-11-15-Send mouse motion events again to CollisionObjects (Area/Body) if they ↵Juan Linietsky
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-13Add a limit of previously known last element to timer timeout traversal in ↵Juan Linietsky
SceneTree, fixes #15559
2018-10-24Add some limits on the Editor SettingsSuperwaitsum
2018-09-27Fix warnings about unhandled enum value in switch [-Wswitch]Rémi Verschelde
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-22Fixed duplicating nodes not attaching script in-game with Sync Scene Changes ↵DualMatrix
enabled Fixed duplicating nodes not attaching script in-game with Sync Scene Changes enabled.
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
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-07Ensure that tree_exited signal really happens after tree exited, fixes #19641Juan Linietsky
2018-09-01Improve ClassDB information for some some signal parametersKelly Thomas
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde
2018-07-29Ensure process notification is received only if really enabled, fixes #7894Juan Linietsky
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
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-23Merge pull request #19888 from AndreaCatania/pryJuan Linietsky
Implemented proceses priority
2018-07-23Implemented proceses priorityAndrea Catania
2018-07-03-Fix fullscreen on Windows with a HiDPI monitor but a non-HiDPI projectJuan Linietsky
-Replaced some viewport size calls to screen size, since viewport size should be deprecated at this point..
2018-07-02Add a new notification to detect crashes on native scriptsMarcelo Fernandez
2018-06-03Add option to disable automatic multiplayer pollFabio Alessandrelli
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).