Commit Graph

3908 Commits

Author SHA1 Message Date
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