Commit graph

40529 commits

Author SHA1 Message Date
Ryan Roden-Corrent
58e8e5f219
Implement blender-style 3D transform tools.
See godotengine/godot-proposals#1215.

This adds shortcuts for blender-inspired transforms, where you can press
the key and immediately be transforming an object without holding the
mouse. Clicking commits the transformation, ESC aborts it.

This is inspired by Blender's G(rab)/R(otate)/S(cale) shortcuts, but I
decided not to add default bindings as `S` is already bound to the
regular scale tool, and it might be confusing to only bind some of them.

While actively using a transform tool, you can press X/Y/Z to lock the
transform to an axis or (shift)+X/Y/Z to constrain the transform to a
plane. These keys are only processed if you have a transform tool
(translate/rotate/scale) active _and_ the mouse button is held.

Pressing XX/YY/ZZ will lock the transform to a local (rather than
global) axis.

This is achieved by temporarily toggling the local transform button. I
did this (vs handling it in the transform functions) for 3 reasons:

- Transform logic for translate/rotate (but not scale) appears to be
  tightly coupled to the gizmo
- This ensures the gizmo changes to indicate we're transforming
  locally/globally
- Toggling the button state in the UI also gives the user feedback about
  the nature of the transform.

The original state of the button is reset when the transform completes.

Pressing the `spatial_editor/cancel_transform` shortcut key during a
transform operation will cancel the transform and reset the objects back
to their original transforms.

This functionality was already accessible by pressing RMB during a
transform, however:

- ESC is more familiar to blender users, and a more common "cancel" key
  in general.
- Given you must hold LMB during a transform, pressing RMB as well is
  clumsy if not impossible (on a laptop trackpad).
2022-01-22 20:55:39 -05:00
Yuri Roubinsky
366d3930ac
Merge pull request #56893 from Chaosus/shader_unify_vardecl 2022-01-18 14:13:56 +03:00
Rémi Verschelde
567b600362
Merge pull request #51310 from bruvzg/🍎🍏🍐🍎🍎 2022-01-18 11:51:01 +01:00
Rémi Verschelde
5bc87025f4
Merge pull request #55809 from cdemirer/fix-reparenting-inherited-nodes 2022-01-18 10:54:59 +01:00
Rémi Verschelde
453f4dbe46
Merge pull request #56874 from MarioLiebisch/fix-56869 2022-01-18 10:53:19 +01:00
Rémi Verschelde
38a54084be
Merge pull request #56826 from noidexe/patch-3 2022-01-18 10:50:43 +01:00
Yuri Roubinsky
36a82c8c69 Unify variable and array declarations in shaders 2022-01-18 12:42:39 +03:00
Rémi Verschelde
045648d091
Merge pull request #56883 from rafallus/doc/collision_shape_ray_pickable 2022-01-18 10:11:55 +01:00
bruvzg
8bb00a2dfd [macOS export] Implements ad-hoc signing on Linux/Windows, adds extra privacy settings, entitlements warnings and error checking. 2022-01-18 11:11:02 +02:00
Rémi Verschelde
1fee624536
Merge pull request #56880 from mhilbrunner/main-exit 2022-01-18 10:05:12 +01:00
rafallus
ba7d3f8331 Fix input_ray_pickable documentation for CollisionObject3D 2022-01-18 01:01:11 -06:00
Rémi Verschelde
8ae86f608a
Merge pull request #56889 from clayjohn/VULKAN-fog-mem
Fix volumetric fog memory leak on resize
2022-01-18 07:46:23 +01:00
clayjohn
ba431a9306 Fix volumetric fog memory leak on resize 2022-01-17 21:30:48 -08:00
Max Hilbrunner
99cd4afb2b Doctool: Add error checks and exit code handling 2022-01-18 00:30:17 +01:00
Rémi Verschelde
846c14eee9
Merge pull request #56739 from strank/master
GDScript: Fix parsing default parameter values from function calls
2022-01-17 21:38:01 +01:00
Mario Liebisch
a5a03b3a73
Allow embedded windows to be non-resizable
This fixes issue #56869.
2022-01-17 21:19:45 +01:00
Rémi Verschelde
780f5c0525
Merge pull request #56847 from jmb462/unkown_extension_warning
Prevent renaming to an unkown extension from FileSystem dock.
2022-01-17 21:09:16 +01:00
Rémi Verschelde
ff19feb8b8
Merge pull request #55939 from cdemirer/validated-array-add-fix
Fix validated version of array addition
2022-01-17 21:08:48 +01:00
Rémi Verschelde
4cfade6212
Merge pull request #55995 from Xwdit/enum_fix
Fix enum int comparison
2022-01-17 20:20:16 +01:00
Rémi Verschelde
91909ef801
Merge pull request #55625 from cdemirer/fix-type-guessing-and-gdscript-parser-printing
Fix `--test gdscript-parser` crash
2022-01-17 20:17:02 +01:00
Rémi Verschelde
12ab19fa26
Merge pull request #55616 from cdemirer/master
Fix nested ternary-if codegen
2022-01-17 20:16:26 +01:00
Rémi Verschelde
ae52ad2fc4
Merge pull request #55509 from V-Sekai/create_node_and_doc_fix
Fix crashes when global named scripts extends an unnamed script
2022-01-17 20:16:06 +01:00
jmb462
c24433f500 Prevent renaming to an unkown extension from FileSystem dock. 2022-01-17 20:03:51 +01:00
cdemirer
fbe903909d Fix validated version of array addition 2022-01-18 03:00:39 +08:00
Lisandro Lorea
176a9c738f
Give example of one-liner for Array natural sort
The documentation for the sort method warns the user that it doesn't do natural sort but fails to provide a solution when it's just a one liner thanks to String.naturalnocasecmp_to() and lambda support

This suggests exactly the same algorithm as used by the filesystem dock for file sorting.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-01-17 15:11:50 -03:00
cdemirer
31a6ad83fd Editor: Disallow reparenting inherited nodes 2022-01-18 00:37:17 +08:00
Rémi Verschelde
324dca57af
Merge pull request #56828 from KoBeWi/7H15_15_NUMB3R 2022-01-17 17:25:05 +01:00
Rémi Verschelde
24f8a5979c
Merge pull request #56809 from aaronfranke/replace-num-real 2022-01-17 16:55:34 +01:00
kobewi
7bb682651f Clarify to_float() and to_int() methods 2022-01-17 16:44:07 +01:00
Rémi Verschelde
b315295ffc
Merge pull request #56865 from bruvzg/cmd_exec 2022-01-17 15:58:06 +01:00
Rémi Verschelde
9d35ce1948
Merge pull request #56864 from pycbouh/editor-no-adoption-for-you 2022-01-17 15:13:03 +01:00
Rémi Verschelde
57ad84537d
Merge pull request #56860 from bruvzg/icu_case 2022-01-17 14:28:38 +01:00
bruvzg
9faf1e027a
[Documentation] Add instruction how to execute built-in commands of various shells. 2022-01-17 15:10:04 +02:00
Rémi Verschelde
d9a4ff7583
Merge pull request #55020 from bruvzg/vlk_device_surface_check 2022-01-17 13:34:23 +01:00
Rémi Verschelde
8bdef23f7f
Merge pull request #56012 from bruvzg/wt🤎4 2022-01-17 13:26:15 +01:00
Rémi Verschelde
a2d323c67e
Merge pull request #54794 from bruvzg/runtime_bmfont_parser 2022-01-17 13:25:08 +01:00
bruvzg
e02a097280
[TextServer] Implement locale and context sensitive case conversion functions. 2022-01-17 14:23:36 +02:00
Rémi Verschelde
5d238468ea
Merge pull request #56863 from akien-mga/svgz-not-supported 2022-01-17 13:22:38 +01:00
Rémi Verschelde
844ea681f1
Merge pull request #33252 from KoBeWi/anime_dup 2022-01-17 13:21:51 +01:00
Yuri Sizov
b89cf4dcf9 Fix a node reparenting warning in the editor debugger 2022-01-17 15:10:59 +03:00
Rémi Verschelde
7176a43260
Remove property hints referencing unsupported svgz extension
The wrongly claimed support for it was removed in #49645.
See also #56862.
2022-01-17 12:40:43 +01:00
Rémi Verschelde
56e79052b7
Merge pull request #56842 from Chaosus/fix_assetlib_crash 2022-01-17 12:25:54 +01:00
Rémi Verschelde
3a2c0bf952
Merge pull request #56861 from bruvzg/ios_icon_auto_scale 2022-01-17 11:44:36 +01:00
bruvzg
962d2df042
[iOS] Improve iOS icon / loading screen export.
Merge "required" / "optional" icons into a single list.
Remove "generate_missing" and automatically rescale icons / loading screens that are missing or have incorrect size.
Print warning if icon or loading screen has incorrect size.
2022-01-17 11:45:31 +02:00
Rémi Verschelde
64bb522021
Merge pull request #55968 from Calinou/scons-tweak-build-messages 2022-01-17 10:44:43 +01:00
Rémi Verschelde
2e58c12ebb
Merge pull request #56850 from KoBeWi/scale_vector_graphics 2022-01-17 10:43:03 +01:00
Rémi Verschelde
4ff51adc38
Merge pull request #56859 from timothyqiu/who-am-i 2022-01-17 10:27:38 +01:00
Rémi Verschelde
345b8e41cf
Merge pull request #56858 from timothyqiu/blend-tree-editor-crash 2022-01-17 09:23:57 +01:00
Haoyu Qiu
7870cf24f2 Fix invalid read when using LightOccluder2D 2022-01-17 16:02:26 +08:00
Haoyu Qiu
19634bd1a1 Fix crash when undoing node creation of BlendTree editor 2022-01-17 14:35:09 +08:00