Commit graph

4071 commits

Author SHA1 Message Date
Rémi Verschelde
1d5e662766
Merge pull request #60708 from timothyqiu/drop-onready 2022-05-17 13:58:51 +02:00
Yuri Rubinsky
c84d050980 Add node list param to GraphEdit::delete_nodes_request signal 2022-05-17 13:28:21 +03:00
Rémi Verschelde
743fce6834
Merge pull request #59242 from Sauermann/fix-editor-select-toplevel
Fix that Top Level CanvasItems are unselectable in editor
2022-05-17 08:22:12 +02:00
Haoyu Qiu
3094e739f5 Create onready variables when dropping nodes and holding Ctrl 2022-05-17 11:51:22 +08:00
Markus Sauermann
4cb74a5270 Fix that Top Level CanvasItems are unselectable in editor
Previously the parent Transform2D was included in the calculation
2022-05-17 01:36:28 +02:00
SnailRhymer
d79818acb6 Fix errors and improve UX relating to new animation libraries
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
Rémi Verschelde
b154f445d5
Merge pull request #60507 from bruvzg/textmesh
Implement TextMesh.
2022-05-16 13:52:57 +02:00
Rémi Verschelde
df2de05c5f
Merge pull request #60463 from Geometror/improve-vs-1 2022-05-16 13:50:42 +02:00
Rémi Verschelde
388988d341
Merge pull request #61068 from Calinou/editor-gpuparticles3d-tweak-attractor-gizmo 2022-05-16 13:48:54 +02:00
Rémi Verschelde
75e4d24ace
Merge pull request #61071 from timothyqiu/leading-stylebox 2022-05-16 13:47:39 +02:00
Haoyu Qiu
4b013a9c96 Fix crash when editing pinned StyleBox 2022-05-16 17:33:24 +08:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Hugo Locurcio
d329229ad6
Use a different color for GPUParticlesAttractor3D editor gizmos
This makes attractor gizmos (orange) distinguishable from
collision gizmos (blue).
2022-05-16 01:45:12 +02:00
Yuri Rubinsky
eb80a9f325
Merge pull request #60978 from fire-forge/shader-caps
Capitalize AO, AA, UV, and UV2 in visual shader output ports
2022-05-13 09:31:56 +03:00
FireForge
584a646f50 Capitalize output port names in visual shader 2022-05-13 00:53:09 -05:00
bruvzg
05963674a7
Implement TextMesh resource.
Apply simulated slant and embolden to the TextServer `gont_get_glyph_contours` results.
2022-05-13 08:20:22 +03:00
Rémi Verschelde
f263e3ac81
Merge pull request #60954 from V-Sekai/fix_ownership_of_created_nodes 2022-05-12 23:11:00 +02:00
Yuri Rubinsky
a439832035 Fix signal completion in GDScript editor 2022-05-12 16:10:48 +03:00
reduz
8b7c7f5a75 Add a new HashMap implementation
Adds a new, cleaned up, HashMap implementation.

* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
  for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).

This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
SaracenOne
ce99de32b8 Fix ownership of nodes created by the MeshInstance3DEditorPlugin
and Skeleton3DEditorPlugin when used on foreign nodes.
Make gizmos visible upon creation rather than having to select
them first.
Make UV2 unwrapping and PhysicalBone creation properly subject
to UndoRedo.
2022-05-11 22:03:07 +01:00
Rémi Verschelde
a12fe31e1f
Merge pull request #60873 from KoBeWi/ded 2022-05-09 22:47:44 +02:00
Yuri Roubinsky
a8bbe570ca Rename hint_albedo, hint_white/black in shaders 2022-05-09 22:50:18 +03:00
Yuri Rubinsky
033e211724
Merge pull request #60845 from Chaosus/vs_color_func 2022-05-09 21:34:34 +03:00
Silc Renew
ba8398f270 Fixed delta & Implement selection of whether or not to seek root 2022-05-09 08:28:32 +09:00
kobewi
8177a8d358 Remove unused code 2022-05-08 02:49:20 +02:00
Yuri Roubinsky
ee1b7a033d Push HSV2RGB/RGB2HSV to ColorFunc (from VecFunc) in visual shaders 2022-05-07 09:49:12 +03:00
Yuri Roubinsky
edd3b1274e Change output port of VisualShaderNodeColorUniform to vec4 2022-05-07 08:40:19 +03:00
Vitika9
aef3b5681d Changed signals of ItemList 2022-05-06 13:09:04 +05:30
kobewi
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
Rémi Verschelde
90da6ad9b4
Merge pull request #58024 from geowarin/master
use physical keys for numpad emulation in the editor
2022-05-05 08:35:11 +02:00
Haoyu Qiu
b3162e270e Fix global AnimationLibrary name validation 2022-05-05 11:19:54 +08:00
Hugo Locurcio
016cca1740
Merge pull request #54606 from Calinou/mesh-editor-plugin-tweak-msaa
Use 4× MSAA for the Advanced Import Options 3D preview
2022-05-04 23:18:08 +02:00
Haoyu Qiu
c0516c2312 Handle AssetLib repository config error 2022-05-04 22:18:41 +08:00
Rémi Verschelde
1b2992799b
Merge pull request #60727 from aaronfranke/basis-axis-column 2022-05-03 19:36:07 +02:00
Guilherme Felipe de C. G. da Silva
e72b86b499 Fix state machine box selection 2022-05-03 12:42:51 -03:00
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods 2022-05-03 09:37:47 -05:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Guilherme Felipe
e7056c195d Improvements of state machine
- Open the menu to add new animation nodes by dragging the transitions to
empty areas and automatically connecting them.
- Adds box selection to the state machine.
- Add feature to group/ungroup selected nodes in a "sub" state machine.
- Add start/end node by default. In addition, add new color to these
nodes to differentiate then.
- Add tooltip for transitions to show the connection "from -> to".
- Add new "type" of transition line when multiple transitions are
grouped.
- Add popup to connect nodes in sub state machine.
- Add dialog to select which nodes can be deleted when they are grouped.
- Add classes:
	AnimationNodeStartState
	AnimationNodeEndState
	EditorAnimationMultiTransitionEdit
- Implements disabled transition

API Changes:
- Now it's posible to add transitions between state machines,
`AnimationNodeStateMachine::add_transition` will works with relative path,
this means you can use it like this `add_transition("Idle", "Walk", tr)`
or `add_transition("Idle", "StateMachine/Shoot)`.
2022-05-02 13:06:36 -03:00
Rémi Verschelde
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
kobewi
142d0e7d75 Change Place Random Tiles to an icon 2022-05-01 22:13:30 +02:00
Hendrik Brucker
6d876baf60 Improve the VisualShader/VisualScript editor UI 2022-04-30 03:56:57 +02:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns" 2022-04-29 08:02:39 -05:00
Rémi Verschelde
12f25ce574
Merge pull request #60521 from IgorKordiukiewicz/warning-ignore-annotations
Added button to add warning ignore annotations
2022-04-29 14:52:34 +02:00
Markus Sauermann
a793960a10 Fix cppcheck const parameters
Convert method signature parameters to const where it is possible

# Conflicts:
#	drivers/gles3/rasterizer_canvas_gles3.cpp
#	drivers/gles3/rasterizer_canvas_gles3.h
#	editor/plugins/animation_state_machine_editor.cpp
#	editor/plugins/animation_state_machine_editor.h
2022-04-28 11:35:39 +02:00
Igor Kordiukiewicz
8462647871 Added button to add warning ignore annotations 2022-04-28 02:46:05 +02:00
Rémi Verschelde
2890ac7100
Merge pull request #60319 from TokageItLab/implement-global-rest 2022-04-27 11:06:42 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
FireForge
fb1d4be7bd Add RayCast2D target_position editor handle 2022-04-26 15:14:35 -05:00
Rémi Verschelde
e8cca501fe
Merge pull request #60395 from Geometror/editor-gradient-preview-plugin 2022-04-26 12:22:07 +02:00
Rémi Verschelde
948f4e3fbd
Merge pull request #60008 from fire-forge/bitmap-preview 2022-04-26 12:20:07 +02:00
Rémi Verschelde
e77a7c2976
Merge pull request #60369 from timothyqiu/al-validate
Fix AnimationLibrary name validation
2022-04-26 08:17:41 +02:00
Igor Kordiukiewicz
fa3d53ab4e Fixed issue where panels in sprite frames editor couldn't be resized 2022-04-26 02:34:18 +02:00
Rémi Verschelde
3ff0cc5c1c
Merge pull request #60401 from fire-forge/gradient-undoredo 2022-04-25 16:58:30 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
Rémi Verschelde
bfc727d970
Merge pull request #60493 from Calinou/editor-add-external-link-icon 2022-04-25 16:04:15 +02:00
Rémi Verschelde
63a052d96b
Merge pull request #60386 from bruvzg/label3d 2022-04-25 15:51:31 +02:00
Yuri Rubinsky
d9d871dfbf
Merge pull request #60439 from Chaosus/vs_vec4 2022-04-25 07:20:44 +03:00
Hugo Locurcio
5626d026d8
Add an external link editor icon
This replaces the existing "chainlink" instance icon that was
used for external links. That icon is still used for scene instancing.

The icon was designed by redlamp.

Co-authored-by: Taylor Wright <taylor@redlamp.org>
2022-04-24 17:26:29 +02:00
Aaron Franke
80aaca42ec
Fix "Vector4DDecompose" typo in VisualShaderEditorPlugin 2022-04-24 01:31:53 -05:00
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
Yuri Roubinsky
8bf632240d Continue to improve vector4 type in visual shaders 2022-04-22 22:29:26 +03:00
bruvzg
be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
FireForge
1f60584970 Add an inspector preview for BitMap 2022-04-20 22:20:31 -05:00
Hendrik Brucker
a93834c819 Add gradient resource preview generator 2022-04-21 00:08:35 +02:00
FireForge
a384031326 Fix UndoRedo in Gradient editor 2022-04-20 15:41:30 -05:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Yuri Rubinsky
f4b0c7a1ea
Merge pull request #60175 from Geometror/visual-shader-vector4 2022-04-20 08:33:42 +03:00
Haoyu Qiu
d8fed8fb69 Fix AnimationLibrary name validation 2022-04-19 17:15:43 +08:00
Silc 'Tokage' Renew
4d4ffa3a2c Implement global rest 2022-04-18 02:11:19 +09:00
Rémi Verschelde
668c498659
Merge pull request #60030 from KoBeWi/pewport 2022-04-13 12:57:21 +02:00
SaracenOne
f8cc2e054d Ensure gizmos are added to newly created Node3D-derivatives and silence error for attempting to create gizmos twice 2022-04-13 04:39:01 +01:00
Rémi Verschelde
895f2a21f4
Merge pull request #60081 from fire-forge/input-event-editor-fix
Redesign InputEvent editor and fix `Window.popup_centered()` rect calculation.
2022-04-12 23:46:56 +02:00
Hendrik Brucker
cf58d23a72 Add Vector4 to VisualShader 2022-04-12 19:09:29 +02:00
Rémi Verschelde
c896ba8c8c
Merge pull request #60163 from fire-forge/texture-size-x 2022-04-12 16:34:08 +02:00
FireForge
0b0a74e135 Redesign InputEvent editor plugin
- Use vertical layout and add text wrapping
- Fix Window.popup_centered() rect calculation
2022-04-12 08:30:24 -05:00
Rémi Verschelde
43f94c95aa
Merge pull request #60057 from timothyqiu/select-frames 2022-04-12 14:43:37 +02:00
bruvzg
59e0a55c9c
Fix OpenType property editor signal connection. 2022-04-12 13:15:10 +03:00
Rémi Verschelde
f586e06f7b
Merge pull request #60166 from bruvzg/narrow_file_access 2022-04-12 10:39:54 +02:00
bruvzg
4bf99f4af2 Narrow FileAccess scope to prevent deadlocks. 2022-04-12 10:54:39 +03:00
Haoyu Qiu
2b97020543 Disable Open in Inspector when there is no animation 2022-04-12 13:10:42 +08:00
FireForge
d879d6016a Use multiplication symbol in Texture size label 2022-04-11 23:02:39 -05:00
Rémi Verschelde
4ab86c6731
Merge pull request #59980 from reduz/animation-libraries 2022-04-11 14:18:35 +02:00
reduz
6f401439f8 Implement Animation Libraries
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.

This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.

Missing (will be done on separate PRs):

* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
Haoyu Qiu
90782a18b7 Improve Select Frames dialog of SpriteFrames editor 2022-04-09 17:30:00 +08:00
kobewi
216fe8f8d9 Fix 2D editor menu position 2022-04-08 17:09:40 +02:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
Rémi Verschelde
f00803b8a5
Merge pull request #56695 from bruvzg/mod_unicode_input 2022-04-05 14:03:39 +02:00
bruvzg
d1207a0504
[Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
Yuri Roubinsky
5db47c5521 Fix lookup symbol in scripts which doesn't open a tab at first attempt 2022-04-05 10:18:45 +03:00
Rémi Verschelde
b78aa4fe19 Style: Apply clang-tidy to current code, add readability-redundant-member-init 2022-04-04 21:49:51 +02:00
Rémi Verschelde
f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Michael Alexsander
1062bc9884 Fix creation and reopening of built-in scripts 2022-04-03 15:34:21 -03:00
Rémi Verschelde
c630c2001d
Merge pull request #59633 from EricEzaM/better-code-complete-update
Improve sorting of Code Completion options.
2022-04-03 12:34:00 +02:00
Eric M
4ab605d14d Improve sorting of Code Completion options.
Done by ordering options by their location in the code - e.g. local, parent class, global, etc.
2022-04-01 20:39:09 +10:00
kobewi
004ced89aa Fix name of the created static trimesh body 2022-03-31 18:02:18 +02:00
Hendrik Brucker
314430b868 Cleanup EditorNode and EditorData
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-03-30 20:12:26 +02:00
Rémi Verschelde
01a3b84545
Merge pull request #59558 from V-Sekai/primitive-indicies 2022-03-29 14:43:26 +02:00
Yuri Roubinsky
509598e8c0 Remove SHADOW_ATTENUATION spatial light shader built-in 2022-03-29 08:43:31 +03:00
Yuri Roubinsky
9edbdc4f36 Add refs to shading language to the desciption of input nodes in vshader 2022-03-28 22:01:10 +03:00
Rémi Verschelde
143d13717b
Merge pull request #59553 from reduz/script-extension-support 2022-03-28 13:35:21 +02:00
Rémi Verschelde
00e9170812
Merge pull request #59574 from Sauermann/proposal-rename-warp-mouse
Rename warp mouse functions to warp_mouse
2022-03-28 08:52:02 +02:00
Michael Alexsander
c331a3a614 Fix errors when locking nodes 2022-03-27 16:10:57 -03:00
reduz
360dea5348 Add GDExtension support to Script
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core

This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
Markus Sauermann
0494e024d8 Rename warp mouse functions to warp_mouse 2022-03-27 14:12:01 +02:00
K. S. Ernest (iFire) Lee
ee954914d9 Clarify what primitives means. 2022-03-26 10:25:13 -07:00
Rémi Verschelde
d3064400c5
Merge pull request #59500 from fire-forge/opentype-button 2022-03-25 18:14:58 +01:00
FireForge
15f4b283bb Make the OpenType "Add Feature..." button full width 2022-03-25 11:18:09 -05:00
FireForge
c0f2825f8b Remove space in MeshLibrary editor button 2022-03-24 15:28:19 -05:00
Haoyu Qiu
81c21ebf39 Add TTR context for pagination button texts 2022-03-24 13:48:07 +08:00
Rémi Verschelde
600ff3a221
Merge pull request #48310 from Blackiris/fix-create-skeleton-physical-bones-4.0 2022-03-21 11:25:41 +01:00
kobewi
3bd7f82162 Reduce the size of Controls editor toolbar 2022-03-20 17:04:23 +01:00
Yuri Roubinsky
0d9aecd967 Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
Yuri Roubinsky
99e26b6e63 Fix editor crash when renaming visual shader port 2022-03-18 09:52:12 +03:00
Michael Alexsander
deb1342036 Make TabBar/Container default their alignments to the left instead of center 2022-03-17 18:12:23 -03:00
Rémi Verschelde
c0b472dfe2
Merge pull request #58967 from fire-forge/gradient2d_editor 2022-03-17 19:43:29 +01:00
FireForge
9c0261ff85 Add GradientTexture2D editor plugin 2022-03-17 10:32:54 -05:00
Rémi Verschelde
178961a6dc
Merge pull request #59183 from YeldhamDev/assetlib_less_borders
Remove extra borders from the AssetLib plugin
2022-03-16 23:50:18 +01:00
Priyansh Rathi
edbf757208
fix axis handle gizmo letters at wrong positions on varying editor scale 2022-03-17 02:20:57 +05:30
bruvzg
98d0af7d5c
Implement GDExtension export plugin. 2022-03-16 11:16:19 +02:00
Michael Alexsander
fc0e657e8f Remove extra borders from the AssetLib plugin 2022-03-15 20:40:46 -03:00
taigi100
6c4dbf92ac
Update to only use select tool on button press
It used to run the code twice, probably once on button press, once on button release.
2022-03-15 20:04:59 +02:00
Haoyu Qiu
0ac6e6acbe More icon updates on theme change 2022-03-15 23:05:41 +08:00
Rémi Verschelde
51bbcbdec2
Merge pull request #45263 from KoBeWi/😕 2022-03-15 13:18:27 +01:00
Rémi Verschelde
cf834db44c
Merge pull request #59137 from timothyqiu/sprite-frames-editor 2022-03-15 09:10:48 +01:00
Haoyu Qiu
7cabf49e67 Improves SpriteFrames editor 2022-03-15 14:39:40 +08:00
Haoyu Qiu
d07fd739ca Separate 2D grid visibility and grid snap 2022-03-15 08:54:07 +08:00
Rémi Verschelde
4f40a71e03
Merge pull request #57436 from AnilBK/change-scopes
Scope Changes for some variables.
2022-03-13 22:10:16 +01:00
Hugo Locurcio
6f76aaec82
Improve display of freelook/zoom speed indicator bars in the 3D editor
- Use a different color for freelook and zoom speed bars.
- Use an outline for the text to make it readable on any background.
2022-03-13 18:57:28 +01:00
Ricardo Buring
ac32535d6e Fix out of bounds crash in particle collision gizmo 2022-03-12 23:57:12 +01:00
Rémi Verschelde
38122b8d85
Merge pull request #59050 from KoBeWi/tsal_eht_morf_ssecca 2022-03-12 14:50:56 +01:00
Rémi Verschelde
51505519c1
Merge pull request #59040 from Sauermann/fix-cursorshape-animationnodestatemachineeditor 2022-03-12 14:49:13 +01:00
Haoyu Qiu
b255efba7c Hide smart snapping line when guideline dragging ends 2022-03-12 14:37:20 +08:00
kobewi
42078dec9f Allow negative indexes in ItemList and PopupMenu 2022-03-12 01:14:03 +01:00
Markus Sauermann
0d96dbcb2a Use get_cursor_shape for identifying the cursor shape in AnimationNodeStateMachineEditor
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.

Fix minor issue with selection order.
2022-03-11 19:10:45 +01:00
Haoyu Qiu
6a1e3380f8 Remove unused code in AnimationPlayerEditor::_update_animation_list_icons() 2022-03-11 07:51:15 +08:00
reduz
6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
Rémi Verschelde
83f2942a04
Merge pull request #58969 from timothyqiu/ani-editor-theme
Fix some Animation panel icons not updating after theme change
2022-03-10 08:59:39 +01:00
Haoyu Qiu
83828c7d1b Fix some Animation panel icons not updating after theme change 2022-03-10 14:46:03 +08:00
Haoyu Qiu
af16e099ea Fix TextureRegion editor grid color for light themes 2022-03-10 10:59:01 +08:00
Rémi Verschelde
97cb90aa3a
Merge pull request #58907 from novaplusplus/gutter_spam_fix 2022-03-09 21:13:24 +01:00
Rémi Verschelde
f17c5501eb
Merge pull request #58865 from timothyqiu/more-i18n
Add missing i18n to various strings
2022-03-09 20:38:19 +01:00
kobewi
39d429e497 Change some math macros to constexpr
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-09 16:24:32 +01:00
nova++
ce66f8a7a0 Add check to prevent "p_gutter = -1" error spam 2022-03-08 20:23:46 -05:00
Yuri Roubinsky
4d6790e9df Add _get_func_code/_is_available virtual functions to custom nodes 2022-03-08 16:23:44 +03:00
Rémi Verschelde
f470979732
Merge pull request #58896 from timothyqiu/locks-n-groups 2022-03-08 12:54:59 +01:00
Haoyu Qiu
fb999ebe22 Don't show Lock & Group buttons for nodes hidden by CanvasLayer 2022-03-08 19:43:34 +08:00
Silc 'Tokage' Renew
40f2eefe78 fix deselect behavior for Skeleton gizmo 2022-03-08 19:26:27 +09:00
K. S. Ernest (iFire) Lee
fd411e580a Avoid gizmo crashes in cases where the points are null.
fix for pose editor
2022-03-08 06:21:04 +09:00
Haoyu Qiu
25d93200c8 Add missing i18n to various strings 2022-03-07 21:50:49 +08:00
Yuri Roubinsky
c20860a1f4
Merge pull request #58854 from Chaosus/vs_varying_fix 2022-03-07 12:14:24 +03:00
Rémi Verschelde
53cf5eff9a
Merge pull request #58847 from KoBeWi/editor_settings_mess 2022-03-07 08:38:15 +01:00
Yuri Roubinsky
87c7fe69f2 Fix _update_varyings call in visual shader 2022-03-07 10:26:09 +03:00
Rémi Verschelde
eb8ce0ce68
Merge pull request #58750 from Chaosus/vs_varyings
Add varying support to visual shaders
2022-03-07 07:41:11 +01:00
Rémi Verschelde
bb5d71f6cc
Merge pull request #58719 from Chaosus/vs_builtins
Adds few more input/output built-ins to visual shader
2022-03-07 07:39:51 +01:00
kobewi
2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
Rémi Verschelde
52b6088c1d
Merge pull request #58800 from rcorre/blender-nav
Disable blender-style transforms in freelook.
2022-03-06 10:19:41 +01:00
kobewi
7d44bb8f06 Remove set_as_minsize() 2022-03-06 00:57:42 +01:00
Rémi Verschelde
d37e8586be
Merge pull request #58788 from reduz/rename-streamtexture
Rename StreamTexture* to CompressedTexture*
2022-03-06 00:19:55 +01:00
kobewi
bc3aff9b46 Various code and documentation improvements 2022-03-05 22:00:35 +01:00
Ryan Roden-Corrent
34b87772b4
Disable blender-style tranforms in freelook.
It's common to bind instant_scale to s, which conflicts with WASD
bindings in freelook mode.

Fixes #58502.
2022-03-05 15:00:11 -05:00
reduz
ccd4cdfd8b Rename StreamTexture* to CompressedTexture*
* Its not and will not be used for streaming.
* Streaming will be implemented in 4.1 and it will work different.
* It makes more sense to be called CompressedTexture since it imports and compresses texture files.
2022-03-05 16:43:38 +01:00
Haoyu Qiu
8dc12135cd Fix animation resource name after duplication 2022-03-05 21:00:34 +08:00
Haoyu Qiu
86c76dca12 Make name of editor file dialog filters translatable 2022-03-05 12:32:38 +08:00
Rémi Verschelde
c9d0523302
Merge pull request #58770 from YeldhamDev/some_crumbles_left
Replace some bits of code left to work with the new `TabContainer`
2022-03-04 23:39:25 +01:00
Rémi Verschelde
27377170d2
Merge pull request #58727 from fire-forge/EditorSpinSlider_label_color
Make EditorSpinSlider label color a theme property
2022-03-04 23:38:55 +01:00
Michael Alexsander
917dac78e7 Replace some bits of code left to work with the new TabContainer 2022-03-04 19:16:33 -03:00
FireForge
6a4d3859cf Make EditorSpinSlider label color a theme property 2022-03-04 15:27:50 -06:00
Yuri Roubinsky
15a87f8e92 Add varying support to visual shaders 2022-03-04 23:30:47 +03:00
Rémi Verschelde
9d5d20ae6d
Merge pull request #58687 from YeldhamDev/the_beast_has_been_slain 2022-03-04 12:18:55 +01:00
FireForge
1e7108938c Add node icons to the Sprite2D menu 2022-03-04 01:17:35 -06:00
Michael Alexsander
a811ebf699 Make TabContainer use TabBar internally 2022-03-03 21:49:58 -03:00
Yuri Roubinsky
2f8cb76899 Adds few more input/output built-ins to visual shader 2022-03-03 21:28:23 +03:00
Igor Kordiukiewicz
ed0da06958 Added property hint to id property in tile set atlas source editor 2022-03-02 20:33:03 +01:00
Rémi Verschelde
3f9a6011fe
Merge pull request #58632 from IgorKordiukiewicz/camera-preview-toggle-crash
Fixes camera preview toggle in additional editor viewports not disappearing corectly causing a crash
2022-03-01 19:59:17 +01:00
kobewi
f653107764 Fix scripts not saving when closing 2022-03-01 01:23:26 +01:00
Igor Kordiukiewicz
ffa4a02808 Fixes camera preview toggle in additional editor viewports not disappearing corectly causing a crash 2022-02-28 15:47:35 +01:00
Yuri Roubinsky
a4a8de3874 Fix crash on creation of HSV2RGB/RGB2HSV functions in visual shader 2022-02-27 17:51:31 +03:00
bruvzg
74ff5921d6 Improve popup window handling.
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
kobewi
b727b81468 Fix source picking with sort 2022-02-24 01:20:21 +01:00
Haoyu Qiu
33ad21d2ed Utilize mouse position when zooming with shortcuts in 2D editor 2022-02-23 20:45:44 +08:00
lawnjelly
bb070af610 Fix GIProbe gizmo out of bounds crash
The GIProbe gizmo was writing values in 3 dimensions to Vector2s. This error was previously being masked by the Vector2 accessor, but now results in a crash or ERR_FAIL message.

This PR removes the Vector2s as they were unused.
2022-02-22 19:01:18 +00:00
SaracenOne
04535bdc7d Fix contextual tileset editor and ensure button is always visible when tileset is available 2022-02-21 13:34:11 +00:00
Rémi Verschelde
adf10902c9
Merge pull request #58315 from KoBeWi/fixibility 2022-02-21 12:33:17 +01:00
kobewi
3a9fb3aff0 Fix 2D instance drop position 2022-02-20 23:09:47 +01:00
kobewi
3a77484f70 Fix CanvasItem visibility propagation 2022-02-19 22:40:53 +01:00
Markus Sauermann
ec8e616024 Fix vertical icons in container sizing 2022-02-19 19:29:53 +01:00
Eric M
f6edd2d2a0 Fixed issues with shortcut checking in 3d node editor
The freelook shortcuts now use the action system by proxy. This allows the actions system to be leveraged for input checking. When the shortcut changes, the respective action is updated.
2022-02-18 23:19:22 +10:00
Hugo Locurcio
958912a33f
Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.
2022-02-17 18:17:02 +01:00
Rémi Verschelde
009254d87c
Merge pull request #58187 from jakobbouchard/notification-switch-chunk-c
Convert _notification methods to switch - Chunk C
2022-02-16 20:58:55 +01:00
Jakob Bouchard
6553f5c242
Convert _notification methods to switch - Chunk C 2022-02-16 13:03:05 -05:00
Rémi Verschelde
51a00c2855
Merge pull request #58182 from akien-mga/style-cleanup-if-semicolons-deadcode 2022-02-16 16:55:07 +01:00
Rémi Verschelde
33c7f52f36
Merge pull request #58169 from megalobyte/update-notificatin-if-to-switch-batch-B 2022-02-16 16:39:23 +01:00
megalobyte
8824b6c5e9 Update if == NOTIFICATION_* to switch statements to match coding style 2022-02-16 08:44:37 -05:00
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
kobewi
547786650f Automatically select source of the picked tile 2022-02-16 00:39:00 +01:00
Rémi Verschelde
11572c6e30
Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
Rémi Verschelde
1d910b1e58
Merge pull request #57863 from Calinou/editor-use-anchors-metadata-no-redundant 2022-02-15 14:41:27 +01:00
Rémi Verschelde
6d708dfd6a
Merge pull request #57329 from Ev01/tileset-editor-minimum-zoom 2022-02-15 14:20:22 +01:00
Rémi Verschelde
f810f76890
Merge pull request #57306 from trollodel/remove_editornode_param 2022-02-14 16:40:40 +01:00
trollodel
05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
JFonS
8317753c24
Merge pull request #57964 from mbrlabs/deselect
Deselect nodes in the 3D editor when pressing ESC
2022-02-14 10:42:46 +01:00
JFonS
58199e5ad0
Merge pull request #57990 from jmb462/fix-drag-lines-precision-issue
Fix 3D editor axis drag lines precision issue
2022-02-14 10:39:44 +01:00
Haoyu Qiu
9aaab5b693 Make duplicate animation prompt for new name 2022-02-14 14:48:25 +08:00
Hugo Locurcio
7ca843b655
Only store _edit_use_anchors_ metadata if value is not the default
The default value is assumed to be `false`, so this metadata
only needs to be stored if the value is `true`.
2022-02-14 01:26:57 +01:00
Geoffroy Warin
cf90394d10 use physical keys for numpad emulation in the editor
This allows non-qwerty keyboard to benefit from this features
2022-02-12 20:40:39 +01:00
Rémi Verschelde
498805282a
Merge pull request #57993 from Calinou/sky-tweak-default-values 2022-02-12 16:46:19 +01:00
Jean-Michel Bernard
b452534e60 Fix 3D Editor axis drag lines precision issue 2022-02-12 10:20:31 +01:00
Rémi Verschelde
f5a27ee4fe
Merge pull request #57994 from jmb462/polygon2d-handles 2022-02-12 10:12:06 +01:00
Rémi Verschelde
7a7fabe4f6
Merge pull request #57641 from Geometror/compilation-time-improvements-1 2022-02-12 09:46:02 +01:00
Hendrik Brucker
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
Hugo Locurcio
b7b18a4940
Tweak default ProceduralSkyMaterial and PhysicalSkyMaterial appearance
- Tweak colors to be less saturated and more balanced (in terms of hue).
  The cool blue sky is balanced by a warm brown ground,
  which makes reflections look closer to how they'd look like when using
  an HDRI panorama texture.
- Make the ground color dark on both ProceduralSkyMaterial and
  PhysicalSkyMaterial to reduce indoor light leaking, especially
  when using GI.
- Tweak the PhysicalSkyMaterial colors to be as close as possible
  to ProceduralSkyMaterial (with the default sun orientation).
- Tweak editor environment defaults to be identical to the default
  ProceduralSkyMaterial colors. Previously, the default editor sky
  color was different from the colors of a newly created
  ProceduralSkyMaterial resource.

Both new skies were tested without GI, with SDFGI and with VoxelGI.
They were tuned to look best when using ACES tonemapping with a
whitepoint set to 6, but they still look good with other
tonemapping operators.
2022-02-12 02:22:40 +01:00
Jean-Michel Bernard
b0ebbd8ece Hide Polygon2D lines and handles when node is not visible in tree. 2022-02-11 23:18:23 +01:00
Rémi Verschelde
a0558b8af8
Merge pull request #57984 from jmb462/collisionshape_handles 2022-02-11 23:03:20 +01:00
Rémi Verschelde
45360ca118
Merge pull request #57982 from trollodel/fix_disabled_visualscript 2022-02-11 22:57:11 +01:00
trollodel
e97e894aa0 Fix editor compile error when VisualScript is disabled 2022-02-11 18:45:41 +01:00
Jean-Michel Bernard
ef995b222e Hide CollisionShape2D handles when node is not visible in tree. 2022-02-11 18:44:17 +01:00
Yuri Sizov
175088db25 Add an explicit way to remove a theme type 2022-02-11 17:57:52 +03:00
Marcus Brummer
55fda17742 Deselect nodes in the 3D editor when pressing ESC 2022-02-11 11:41:51 +01:00
JFonS
3aa7b7eaf2
Merge pull request #57919 from mbrlabs/region-select-fixes
Fixed issues with 3D region-select in the editor
2022-02-11 10:59:18 +01:00
Marcus Brummer
3c4c73b100 Fixed issues with 3D region-select in the editor 2022-02-11 09:43:40 +01:00
Rémi Verschelde
ba8973d663
Merge pull request #57902 from aaronfranke/canvas-editor-scale 2022-02-10 22:24:22 +01:00
Rémi Verschelde
69ddf2fd05
Merge pull request #55157 from pycbouh/control-inspector-reorg 2022-02-10 22:13:28 +01:00
Yuri Sizov
107b6f299c Reorganize inspector layout workflow for Control nodes 2022-02-10 20:29:34 +03:00
Rémi Verschelde
519075cf41
Merge pull request #57912 from rcorre/fix-blender 2022-02-10 16:53:01 +01:00
kobewi
283ec9e640 Fix texture file dropping in 2D editor 2022-02-10 15:06:13 +01:00
Ryan Roden-Corrent
628219c922
Don't block input after cancelling transform.
After starting an instant transform and cancelling it, the mouse was
blocked because cancel_transform did not set _edit.instant back to
false.

This refactors all the cleanup into a separate function that both
cancel_transform and commit_transform can call.

Fixes #57868.
2022-02-10 08:23:10 -05:00
Anilforextra
bb5d130509 Code quality cleanup for some variable scopes. 2022-02-10 15:56:01 +05:45
Aaron Franke
742205b29a
Fix CanvasItemEditor scale editor not using the editor methods 2022-02-10 03:51:53 -06:00
Marcus Brummer
c283a0ece7 Improved region-select in the 3D editor viewport 2022-02-09 12:22:03 +01:00
Rémi Verschelde
d6deada47c
Revert "Show the 3D transform gizmo in the center when otherwise offscreen"
This reverts commit 4234a72b25.

There are some errors which are problematic to have in 4.0 alpha 2.
The PR can be redone with fixes and merged again after the dev release.

Fixes #57839.
2022-02-09 09:39:28 +01:00
Ellen Poe
41a158af56
Add AudioStreamRandomizer, replacing AudioStreamRandomPitch
Add additional randomization options.
2022-02-09 00:05:32 +01:00
Rémi Verschelde
25d4c14fef
Merge pull request #57627 from JFonS/occluder_improvements 2022-02-08 23:23:50 +01:00
Aaron Franke
4234a72b25
Show the 3D transform gizmo in the center when otherwise offscreen 2022-02-08 14:38:31 -06:00
jfons
8345aabaf4 Improve rotation in the 3D transform gizmo
* Get rid of deadzones.
* Make it easier to select rotation handles at very oblique angles.
* Handle rotation for axes that are perpendicular to the camera.
2022-02-08 20:56:59 +01:00
jfons
e0c82913ff Fix navigation in 3D viewport
The incorrect initialization of EditData::instant to true was preventing the navigation code to run until the transform gizmo was used.
2022-02-08 19:24:50 +01:00
Rémi Verschelde
96e4de3511
Merge pull request #57626 from Calinou/3d-editor-rename-debug-draw-modes 2022-02-08 16:42:01 +01:00
Rémi Verschelde
cc097cd22b
Merge pull request #56543 from rcorre/blendermotion-4.0 2022-02-08 16:39:19 +01:00
bruvzg
8e3245383a
[Editor] Fix font style matching issues.
Fix font selection when no style selected.
Fix style matching when fonts have different style sets.
Use SNAME for theme overrides.
2022-02-08 15:20:01 +02:00
Rémi Verschelde
f425d403fe
Merge pull request #57066 from KoBeWi/in_the_name_of_the_custom 2022-02-08 11:15:01 +01:00
Rémi Verschelde
a66e55069e
Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
Rémi Verschelde
6eeeb9a63c
Re-add missing SNAME macros in get_theme_* calls
They were removed in the previous commit reverting the addition of `SNAME`
to `add_theme_*` and theme setter methods, which is not wanted.
2022-02-08 10:31:56 +01:00
Rémi Verschelde
fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
Rémi Verschelde
317cd0b19a
Refactor some object type checking code with cast_to
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
kobewi
a08fc442a0 Fix script editor errors with CustomCallables 2022-02-07 14:34:42 +01:00
jfons
dd970482c5 Improvements and fixes to occluders
Improvements:
* Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
* Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
* Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.

Fixes:
* Fixed saving of occluder files after bake.
* Fixed a small error where occluders didn't correctly update in the rendering server.

Bonus content:
* Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
* Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-07 13:04:51 +01:00
Rémi Verschelde
bfb75d107c
Merge pull request #57741 from Chaosus/vs_fixes 2022-02-07 12:50:44 +01:00
Rémi Verschelde
b024602660
Merge pull request #57725 from jmb462/missing-sname-theme-setters 2022-02-07 11:46:25 +01:00