summaryrefslogtreecommitdiff
path: root/scene/main
AgeCommit message (Collapse)Author
2021-02-11Fix `Node::rpc_config` return errorMarvinFF
Fix StringName type checks in other `_rpc*_bind` methods.
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10Merge pull request #45845 from qarmin/cppcheck_scene_2Rémi Verschelde
Initialize class variables with default values in scene/ [2/2]
2021-02-10Make Servers truly Thread Safereduz
-Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
2021-02-09Fix contact points debug for 3D PhysicsPouleyKetchoupp
Setting each point's position was missing for 3D. Now enabling collision render debug will display contact points for 3D physics, the same way it does for 2D physics. Note: Multimesh rendering seems not to work in this scenario on master, but it's working fine on 3.2.
2021-02-09Initialize class variables with default values in scene/ [2/2]Rafał Mikrut
2021-02-07Implement pause-aware pickingPedro J. Estébanez
This changes the way 2D & 3D physics picking behaves in relation to pause: - When pause is set, every collision object that is hovered or captured (3D only) is released from that condition, getting the relevant mouse-exit callback., unless its pause mode makes it immune from pause. - During the pause. picking only considers collision objects immune from pause, sending input events and enter/exit callbacks to them as expected. - When pause is left, nothing happens. This is a big difference with the classic behavior, which at this point would process all the input events that have been queued against the current state of the 2D/3D world (in other words, checking them against the current position of the objects instead of those at the time of the events).
2021-02-01Node::replace_by was not copying node properties - removed the dead code.nemerle
The code to copy node properties to the new node never worked, so there is no reason to keep the useless bits in there
2021-01-31Merge pull request #45315 from RandomShaper/modernize_threadRémi Verschelde
Modernize Thread
2021-01-29Modernize ThreadPedro J. Estébanez
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
2021-01-24Shadow map rendering optimizationreduz
-All shadow rendering is done with raster now (no compute) -All shadow rendering is done by rendering directly to the shadow atlas -Improved how buffer clearing is done to optimize the above. -Ability to set shadows as 16 bits.
2021-01-19Added GPU based cluster builderreduz
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
2021-01-17Change how editable children data is storedkobewi
Co-authored-by: hilfazer <az13337@gmail.com>
2021-01-07Make tooltips appear on the same display as the editorAberrantWolf
The `current_screen` field was never being set on tooptip windows, leading to scenarios where, if the editor wasn't on screen 0, tooltips may not appear in the right place, especially when your screens have different resolutions.
2021-01-06Added ability to visualize native shadersreduz
2021-01-05Tooltips: Fix unassigned strip_edges() call on textRémi Verschelde
Fixes #43940, was a regression from #43280.
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2021-01-01Merge pull request #44276 from YeldhamDev/tooltip_position_embedded_fixRémi Verschelde
Fix tooltip position in main embedded window
2020-12-28Merge pull request #44593 from madmiraal/rename-mainloop-methodsRémi Verschelde
Rename MainLoop methods to match Node methods
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-23Rename Control margin to offsetMarcel Admiraal
2020-12-22Rename MainLoop methods to match Node methodsMarcel Admiraal
2020-12-21Merge pull request #44300 from KoBeWi/🧹🧹Rémi Verschelde
Move initialization of some classes to headers
2020-12-18Implement automatic LOD (Level of Detail)reduz
-Happens on import by default for all models -Just works (tm) -Biasing can be later adjusted per node or per viewport (as well as globally) -Disabled AABB.get_support test because its broken
2020-12-15Rename neighbour in Control to neighborDaniel Ting
This keeps things consistent with the rest of Godot, which uses the American English spelling of Color.
2020-12-11Move initialization of some classes to headersTomasz Chabora
2020-12-10Fix tooltip position in embedded windowMichael Alexsander
2020-12-10Rename Viewport::ClearMode::CLEAR_MODE_ONLY_NEXT_FRAME to CLEAR_MODE_ONCEMarcel Admiraal
2020-12-09Merge pull request #44128 from KoBeWi/🧹Rémi Verschelde
Cleanup unused engine code
2020-12-09Cleanup unused engine codeTomasz Chabora
2020-12-09Static analyzer fixes:bruvzg
Removes unused code in OS. Fixes return types. Fixes few typos.
2020-12-08Rename CanvasItem's hide signal to hiddenMarcel Admiraal
2020-11-28Merge pull request #43828 from Chaosus/restore_line_antialiasingYuri Roubinsky
Restored antialiased lines by emulation using triangle strips
2020-11-28Merge pull request #42109 from EricEzaM/PR/input-and-shortcuts-reworkRémi Verschelde
Shortcuts rework - fixed issues with input propagation and triggering of unwanted shortcuts.
2020-11-28Merge pull request #41100 from bruvzg/ctl_text_server_interfaceRémi Verschelde
[Complex Text Layouts] Implement TextServer interface.
2020-11-27Restored antialiased lines by emulation using triangle stripsYuri Roubinsky
2020-11-26Implement signed distance fields for 2D shadersreduz
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-11-23Implement new shortcuts system.Eric M
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
2020-11-20Do not start `Timer` upon manual switching of internal processAndrii Doroshenko (Xrayez)
Prevents `Timer` to prematurely start and timeout immediately if internal processing is enabled manually with `Timer.set_process_internal(true)` or `Timer.set_physics_process_internal(true)`. Even if the internal processing is enabled manually, the user still has to actually start the timer with `start()` method explicitly.
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-15Remove property groups for Pause Mode and ScriptHugo Locurcio
Each of those only grouped 1 property, making them useless. This closes https://github.com/godotengine/godot-proposals/issues/1840.
2020-11-09Refactored variant constructor logicreduz
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-11-03Merge pull request #39635 from Meriipu/master_nodropRémi Verschelde
do not drop mouseover on WM_MOUSE_EXIT
2020-11-03Tooltips: Improve code clarity and docsRémi Verschelde
The return type for `_make_custom_tooltip` is clarified as Control, and users should make sure to return a visible node for proper size calculations. Moreover in the current master branch, a PopupPanel will be added as parent to the provided tooltip to make it a sub-window. Clarifies documentation for `Control._make_custom_tooltip`, and shows how to use the (until now undocumented) "TooltipPanel" and "TooltipLabel" theme types to style tooltips. Fixes #39677.
2020-10-30Refactor pixel snapping.reduz
-Rename pixel_snap to snap_2d_to_vertices -Added snap_2d_to_transforms which is more useful Fixes #41814 Solves proposal https://github.com/godotengine/godot-proposals/issues/1666 Supersedes #35606, supersedes #41535, supersedes #41534
2020-10-28Implement CanvasGroup and CanvasItem clippingreduz
-Allows merging several 2D objects into a single draw operation -Use current node to clip children nodes -Further fixes to Vulkan barriers -Changed font texture generation to white, fixes dark eges when blurred -Other small misc fixes to backbuffer code.
2020-10-27Fixes setting top_level not updating the global positionGilles Roudière
2020-10-26Fix uninitialized `Viewport::use_debanding` member variableHugo Locurcio