summaryrefslogtreecommitdiff
path: root/scene
AgeCommit message (Collapse)Author
2021-07-24Merge pull request #50786 from reduz/implement-resource-uidsRémi Verschelde
Implement Resource UIDs
2021-07-24Implement Resource UIDsreduz
* Most resource types now have unique identifiers. * Applies to text, binary and imported resources. * File formats reference both by text and UID (when available). UID always has priority. * Resource UIDs are 64 bits for better compatibility with the engine. * Can be represented and used textually, example `uuid://dapwmgsmnl28u`. * A special binary cache file is used and exported, containing the mappings. Example of how it looks: ```GDScript [gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"] [ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"] ``` GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files. This will be reserved for future PRs.
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-23Merge pull request #50780 from JFonS/fix_submenusRémi Verschelde
Fix Popup submenu in single-window mode
2021-07-23Merge pull request #50748 from JFonS/gizmo_reworkRémi Verschelde
Node3D gizmo improvements
2021-07-23Node3D gizmo improvementsjfons
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs. * Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins. * Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes. * Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles. * Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
2021-07-23Fix popup submenu in single-window modejfons
The internal processing code only works for OS windows, since it takes the mouse position relative to the window and not the viewport. Now we make sure it's not called in single-window mode.
2021-07-23Show tooltips even when paused or time_scale is 0kobewi
2021-07-22Merge pull request #50676 from reduz/textual-resource-idsRémi Verschelde
2021-07-22Implement textual ext/subresource IDs.reduz
* Friendlier with version control. * Generates pseudo unique IDs, to minimize conflicts when merging, but still user readable (so, not UUID). * Eventually will also allow to have more precisely named sub-resources in imported files. * This will allow better reloading on changes (including resources already loaded) as well as better keeping track of changes on the DCC. * Keeps backward compatibility with the old formats. * Binary and text format version incremented to mark breakage in forward compatibility.
2021-07-22Make `MenuButton`'s `switch_on_hover` work againMichael Alexsander
2021-07-21Merge pull request #50711 from nekomatata/popup-close-fixRémi Verschelde
Fix logic for Popup closing when parent is focused
2021-07-21Fix logic for Popup closing when parent is focusedPouleyKetchoupp
The member popped_up is used to avoid closing a Popup before it had a chance to be focused. It wasn't reset properly when the popup is hidden, causing the Popup to close right after showing in some random cases (spotted on X11, might not happen on Windows).
2021-07-21Merge pull request #50695 from reduz/fix-sky-initializationRémi Verschelde
2021-07-21Merge pull request #50370 from QbieShay/circle-emitter-particleRémi Verschelde
Ring emitter for 4.0
2021-07-21Merge pull request #50643 from groud/improve_tilemap_compatibilityRémi Verschelde
2021-07-21Make Sky initialize shaders only oncereduz
* Create the shader on demand. * Makes sure compilation happens only once, then shader is cached. * Speeds up scene loading times. * Speeds up editor initialization.
2021-07-21Merge pull request #50690 from Chaosus/vs_fix_triplanarYuri Roubinsky
Fix function code generation for uniform triplanar node in visual shader
2021-07-21Implement atlas merging and tile proxiesGilles Roudière
2021-07-21Import old tiles in SINGLE_TILE mode as atlasesGilles Roudière
2021-07-21Fix function code generation for uniform triplanar node in visual shaderYuri Roubinsky
2021-07-21Merge pull request #50686 from Calinou/use-standard-inf-nan-constantsRémi Verschelde
Use the standard C `INFINITY` and `NAN` constants directly
2021-07-21Use the standard C `INFINITY` and `NAN` constants directlyHugo Locurcio
The `Math_INF` and `Math_NAN` defines were just aliases for those constants, so we might as well use them directly. Some portions of the code were already using `INFINITY` directly.
2021-07-21Use is_equal_approx in more placesAaron Franke
2021-07-20Merge pull request #38317 from verdog/get-cam-2d-4.0Rémi Verschelde
add viewport.get_camera_2d()
2021-07-20Merge pull request #50655 from JFonS/sname_optRémi Verschelde
Editor StringName and Viewport optimizations
2021-07-20Editor StringName and Viewport optimizationsJoan Fons
* Added explicit return type to the SNAME macro. * Add some extra SNAME usages. * Change some ClassDB methods to use const StringName & arguments. * Cache the Window parent in Control because it's used in is_layout_rtl(), which is called often. * Only enable internal processing for viewports that need it. * Change CanvasItem::group to be a StringName because it's only used as that.
2021-07-20Merge pull request #50605 from Calinou/tweak-shader-code-styleRémi Verschelde
Use C++11 raw literals for shader code to improve readability
2021-07-20Merge pull request #50206 from groud/undoredo_increase_args_countRémi Verschelde
Increase the number of arguments accepted by UndoRedo methods
2021-07-19Merge pull request #50588 from bruvzg/menu_genRémi Verschelde
Optimize LineEdit and TextEdit menu item generation.
2021-07-19Merge pull request #50604 from aaronfranke/float-array-castRémi Verschelde
Explicitly cast real_t to float when creating a float array
2021-07-19Merge pull request #50606 from Chaosus/textedit_fix_guttertypeRémi Verschelde
Fixed typos in `TextEdit::GutterType` enum
2021-07-19Merge pull request #50566 from reduz/optimize-stringname-usageRémi Verschelde
Optimize StringName usage
2021-07-19Fixed typos in `TextEdit::GutterType` enumYuri Roubinsky
2021-07-19Merge pull request #48186 from EricEzaM/PR/tooltip-improvementsRémi Verschelde
Made default tooltips (non-custom ones) disappear on mouse enter.
2021-07-19Use C++11 raw literals for shader code to improve readabilityHugo Locurcio
In files that have lots of branching, `\t` was replaced with a tab character instead.
2021-07-19Explicitly cast to float when creating a float arrayAaron Franke
2021-07-19Optimize LineEdit and TextEdit menu item generation.bruvzg
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-17Prevent function gen in visual shader if no out connection is providedYuri Roubinsky
2021-07-17Create many types of popups on demandreduz
* LineEdit popups created on demand. * TextEdit popups created on demand. * SpinSlider popups created on demand. * ResourcePicker popups created on demand. Improves editor responsiveness.
2021-07-16Merge pull request #47395 from sygi/shape_idx_collisionHugo Locurcio
Add shape_idx to CollisionObject2D mouse_entered signal
2021-07-15Merge pull request #49328 from nekomatata/sync-to-physics-3dRémi Verschelde
Support for 3D sync to physics
2021-07-15Support for 3D sync to physicsPouleyKetchoupp
Same implementation as in 2D.
2021-07-15Move sync to physics to StaticBody2DPouleyKetchoupp
Now static body is used for moving platforms through kinematic motion property, so sync to physics needs to be in StaticBody2D instead of CharacterBody2D. Constant kinematic motion is also supported in combination with sync to physics for smoother movements.
2021-07-15Merge pull request #38819 from EricEzaM/improve-to_string-for-nodesRémi Verschelde
Added Node name to print() of all Nodes by making to_string() in Object virtual, so it can be overriden in C++.
2021-07-15Added Node name to print() when printing Nodes.Eric M
2021-07-15Fixing 2D moving platform logicfabriceci
Fixing by applying the movement in two steps, first the platform movement, and then the body movement. Plus, add the platform movement when we are on_wall.
2021-07-14Merge pull request #48502 from KoBeWi/visual_buttonRémi Verschelde
Add set_pressed_no_signal method to BaseButton
2021-07-14Merge pull request #49348 from Geometror/fix-particles-hidden-basecolorRémi Verschelde
Fix color properties of particle nodes/material