Commit graph

11859 commits

Author SHA1 Message Date
Danil Alexeev
c046bb8389
Fix CanvasItem.draw_rect function with filled = false 2023-01-17 09:15:47 +03:00
Nong Van Tinh
d6b923ae05 Fixes incorrect caption for TextureParameterTriplanar 2023-01-17 12:10:01 +07:00
clayjohn
267db8a504 Update ImmediateMesh to use octohedral encoded normals 2023-01-16 14:14:37 -08:00
Rémi Verschelde
ecfd57026e
Merge pull request #71375 from clayjohn/LightmapGI-crash
Enforce a default minimum lightmap size hint size
2023-01-16 22:28:36 +01:00
Rémi Verschelde
ae3ca04aba
Merge pull request #69598 from Sauermann/fix-focus-inverse
Calculate the mouse focus inverse transform only when needed
2023-01-16 22:11:23 +01:00
Rémi Verschelde
7c00fdcf5d
Merge pull request #71507 from groud/fix_add_source_source_id
Fix TileDate::add_source accepting invalid ID values
2023-01-16 12:49:32 +01:00
Rémi Verschelde
47689c7d51
Merge pull request #71502 from bruvzg/tooltip_clickthrough
Add `WINDOW_FLAG_MOUSE_PASSTHROUGH` flag and enabled it for tooltips.
2023-01-16 12:48:45 +01:00
Rémi Verschelde
673d9c58fd
Merge pull request #69851 from dalexeev/fix-scaling-issue
Fix scaling issue in `draw_line` and similar methods
2023-01-16 12:48:22 +01:00
Gilles Roudière
0dbcf8f735 Fixes TileDate::add_source accepting invalid ID values 2023-01-16 12:14:40 +01:00
Danil Alexeev
a8cbb6245b
Fix scaling issue in draw_line and similar methods 2023-01-16 12:49:58 +03:00
bruvzg
34b34b104c
Add WINDOW_FLAG_MOUSE_PASSTHROUGH flag and enabled it for tooltips. Expose window_set_mouse_passthrough to Window. 2023-01-16 11:42:49 +02:00
kobewi
1260cb0bfb Improve empty Tween error message 2023-01-16 10:30:21 +01:00
Rémi Verschelde
2d214c8881
Merge pull request #70685 from stmSi/fix-nan-graphedit-infinite-loop
Fix: NaN value making infinite loop inside GraphEdit's `NOTIFICATION_DRAW`
2023-01-16 09:41:08 +01:00
Rémi Verschelde
da57e0059e
Merge pull request #70504 from KoBeWi/the_choosen_antipattern
Add EditorUndoRedoManager singleton
2023-01-16 09:24:50 +01:00
Rémi Verschelde
5663c78bd2
Merge pull request #43399 from KoBeWi/path_stalking
Update PathFollow2D when curve is changed
2023-01-16 09:24:03 +01:00
Rémi Verschelde
ce278b1b7a
Merge pull request #70433 from Sauermann/fix-treeitem-id
Fix confusion about TreeItem.add_button ambiguity between id and index
2023-01-16 09:15:15 +01:00
kobewi
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
Tomasz Chabora
5d75edb3b5 Update PathFollow2D when curve is changed 2023-01-15 18:11:21 +01:00
Rémi Verschelde
55bf948fe7
Fix change_scene memory leak due to duplicate instantiation
Regression from #71105.
Fixes #71363.
2023-01-15 14:05:15 +01:00
Paulb23
1aac10d73d Fixed adding extra quote when completing strings 2023-01-14 15:28:22 +00:00
kobewi
59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
clayjohn
e0e073138d Enforce a default minimum lightmap size hint size 2023-01-13 17:46:55 -08:00
Rémi Verschelde
030a95dd61
Merge pull request #71137 from lyuma/remove_modification_stack_3d
Remove SkeletonModificationStack3D, and Skeleton3D api cleanup
2023-01-13 22:34:09 +01:00
Yuri Sizov
682ef35787
Merge pull request #71328 from reduz/button-shortcuts-no-longer-press
Button shortcuts no longer "press" the Button.
2023-01-14 00:14:51 +03:00
kobewi
54abd5b560 Add expand mode compat to TextureRect 2023-01-13 19:16:49 +01:00
Juan Linietsky
dd3a1b08a9 Button shortcuts no longer "press" the Button.
* Button shortcuts were treated as generic input events on buttons. This means that to activate a button shortcut you had to press and release.
* This logic is removed and now shortcuts always activate on press.
* This makes the editor feel more responsive and solves problems related to this behavior.

Fixes #45033 and possibly others.
2023-01-13 18:43:02 +01:00
Tomasz Chabora
4668a186db Reset animation on playback stop 2023-01-13 13:41:37 +01:00
bruvzg
9b2843f14f
Improve dashed line alignment and make it optional. 2023-01-13 10:30:12 +02:00
stmSi
d1bd7539a6 Fix NaN value making infinite loop inside GraphEdit's NOTIFICATION_DRAW 2023-01-13 12:29:29 +06:30
Rémi Verschelde
f79c58aac5
Merge pull request #71209 from bruvzg/ed_progress_reparent
Automatically reparent editor progress dialog to avoid error spam.
2023-01-13 00:29:48 +01:00
Rémi Verschelde
05e1517c8e
Merge pull request #71290 from clayjohn/normal-map-2d
Remove normal_map from MeshInstance2D and MultiMeshInstance2D
2023-01-13 00:17:28 +01:00
clayjohn
b514e20fb5 Remove normal_map from MeshInstance2D and MultiMeshInstance2D 2023-01-12 13:15:31 -08:00
Lyuma
fd25bb50ab Remove SkeletonModificationStack3D, and Skeleton3D api cleanup
Removes all 3D modification resources. SkeletonIK3D is a node and still supported.
Remove deprecated Skeleton3D functionality for 4.0, so we can add it back in 4.x.
Remove local_pose_override feature from Skeleton3D and BoneAttachment3D.
Expose Skeleton3D::get_version() so IK scripts/extensions can cache bones.

Note: This change only affects 3D. SkeletonModification2D will work as before.
2023-01-12 12:04:53 -08:00
Rémi Verschelde
797fb296f0
Merge pull request #58517 from KoBeWi/size_matters
Add expand modes to TextureRect
2023-01-12 20:06:26 +01:00
Rémi Verschelde
73ab514657
Fix style issue in ShapeCast3D after #68409
Somehow that PR didn't run the CI checks.
2023-01-12 19:28:58 +01:00
Rémi Verschelde
d20ebe98c4
Merge pull request #68409 from Jasuse/shapecast3d_dbg_shape_fix
Fix debug shape of `ShapeCast3D` not updating on `Shape` change
2023-01-12 17:19:20 +01:00
kobewi
dfc4367a47 Add expand modes to TextureRect 2023-01-12 17:06:03 +01:00
Rémi Verschelde
312703ca1f
Merge pull request #70566 from cg9999/richtextlabel_fix
Fix crash in RichTextLabel table parsing
2023-01-12 14:52:02 +01:00
Rémi Verschelde
a8a9892ad6
Merge pull request #71218 from KoBeWi/unlimited_bikeshedding_lets_go
Split pause() from AnimationPlayer's stop()
2023-01-12 14:30:46 +01:00
Yuri Rubinsky
5b627dec72
Merge pull request #71123 from Chaosus/vs_particle_randomness 2023-01-12 16:29:27 +03:00
Henri Valta
81d0f42800 Fix crash in RichTextLabel table parsing
Fixed with help of feedback from bruvzg. Prevents invalid items getting to stack.
2023-01-12 12:27:25 +02:00
Rémi Verschelde
7f3f559e6b
Merge pull request #71250 from smix8/navigation_tweak_agent2d_4.x
Tweak NavigationAgent2D defaults
2023-01-12 08:52:56 +01:00
Hendrik Brucker
62278eb236 Rename (de)selected signals to node_(de)selected in GraphNode 2023-01-12 04:08:06 +01:00
smix8
594ffd2200 Tweak NavigationAgent2D defaults
Tweaks default values for NavigationAgent2D to work better out of the box within a new 2D project using default resolution.
2023-01-11 23:47:16 +01:00
kobewi
f64dd732b8 Improve some Tween internals 2023-01-11 14:08:14 +01:00
kobewi
da9396881e Split pause() from AnimationPlayer's stop() 2023-01-11 14:03:31 +01:00
Rémi Verschelde
863324330b
Merge pull request #71219 from EricEzaM/68176-codeedit_update_code_completion_options_crash
Fix crash in CodeEdit when caret column exceeds line length.
2023-01-11 14:02:01 +01:00
Eric M
1d30653efb Fix crash in CodeEdit when caret column exceeds line length. 2023-01-11 22:52:37 +10:00
Rémi Verschelde
baae87e307
Merge pull request #71105 from reduz/unload-current-scene
Add SceneTree.unload_current_scene()
2023-01-11 09:46:33 +01:00
bruvzg
19293d1813
Automatically reparent editor progress dialog to avoid error spam. 2023-01-11 10:13:21 +02:00
Rémi Verschelde
3e2843e3ad
Merge pull request #71183 from YuriSizov/control-refresh-layouts-by-parents
Ensure that the cached layout mode is in sync
2023-01-11 01:29:51 +01:00
Rémi Verschelde
3862939327
Merge pull request #71170 from reduz/text-loader-fixes
Text resource loader fixes
2023-01-11 01:16:12 +01:00
Rémi Verschelde
54688a7535
Merge pull request #71127 from reduz/drag-forward-to-callables
Change set_drag_forwarding() to use callables.
2023-01-11 01:14:58 +01:00
Rémi Verschelde
b65c5bccfa
Merge pull request #71042 from marzecdawid/only-cursor-multiselect-tree-text-search
Fix text search in Tree with multiselect
2023-01-11 01:12:12 +01:00
Yuri Sizov
42cbdbc7df Ensure that the cached layout mode is in sync 2023-01-10 23:51:27 +03:00
Juan Linietsky
eb3fa8eaa4 Text resource loader fixes
* Moved the order of progress update to after the actual resource loading to give better % numbers.
* Fix a bug introduced by #67714, which broke cache ignoring.
2023-01-10 18:59:55 +01:00
Juan Linietsky
e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Juan Linietsky
e5f2c442c7 Add SceneTree.unload_current_scene()
Provides an obvious way to unload the currently loaded scene (which is nowhere to be found in the docs).
The SceneTree.change_scene_to() method must now always provide a valid PackedScene.

Fixes #63565.
2023-01-10 14:02:06 +01:00
Rémi Verschelde
91713ced81
Merge pull request #70716 from Calinou/particles-tweak-animation-offset-property-hint
Tweak particles animation offset property hint to allow more precise values
2023-01-10 11:01:14 +01:00
Rémi Verschelde
e3a87641bd
Merge pull request #71147 from bruvzg/get_win
Add Node::get_window() method.
2023-01-10 10:52:12 +01:00
Rémi Verschelde
e63500344f
Merge pull request #71056 from marzecdawid/add-tree-deselect-all-to-gdscript
Expose Tree::deselect_all to GDScript
2023-01-10 10:44:31 +01:00
bruvzg
ca8b762797
Add Node::get_window() method. 2023-01-10 11:10:46 +02:00
Rémi Verschelde
dce8cdbca8
Merge pull request #70863 from bruvzg/win_init_min
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates.
2023-01-09 23:08:52 +01:00
Rémi Verschelde
be4e9dfeab
Merge pull request #69616 from reduz/change-uuid
Ability to change a resource UID from API
2023-01-09 23:08:18 +01:00
Yuri Sizov
fd990e24a8
Merge pull request #71121 from YuriSizov/canvas-item-long-lost-parent
Clarify some parent item checks in `CanvasItem`
2023-01-10 00:26:28 +03:00
Markus Sauermann
0d6d5e6421 Calculate the mouse focus inverse transform only when needed
Revival of #49158

Co-authored-by: Marcel Admiraal <madmiraal@users.noreply.github.com>
2023-01-09 21:35:38 +01:00
Juan Linietsky
07a964fce3 Ability to change a resource UID from API
* Works for text, binary and imported resources
* Allows better clean up of duplicate files.

TODO (future PRs):

* Use this API for assigning new UIDs to copied files.
* Use this API for UID conflict on FS scanning (if more than one file has the same UID, the newer one(s) should get assigned a different UID).
2023-01-09 18:52:00 +01:00
Yuri Rubinsky
87eafe48b8 Add few improvements for VisualShaderNodeParticleRandomness 2023-01-09 20:33:45 +03:00
Yuri Sizov
0ca5a72e90 Clarify some parent item checks in CanvasItem 2023-01-09 19:59:55 +03:00
Juan Linietsky
0e0a6bb39b
Removed unused property hints and Object::get_translatable_strings()
* Remove unused `EditorPropertyMember` and related hints, previouly used by
  VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
  hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
  `get_translatable_strings()`, which is a legacy function not used anywhere.
  So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.

Fixes #30203.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Yuri Sizov
00b5222f66 Fix inconsistent state of Controls when editing and running scenes 2023-01-09 15:54:04 +03:00
Danil Alexeev
9b3da76640
Fix unpressable buttons 2023-01-09 12:17:48 +03:00
Rémi Verschelde
e7905f4f48
Merge pull request #71045 from reduz/use-bitfield-in-core-types
Use BitField<> in core type masks
2023-01-09 08:33:26 +01:00
Rémi Verschelde
378d589e2d
Merge pull request #71037 from reduz/array-format-bitfield
Use BitField<> hint for Mesh.ArrayFormat and Control.SizeFlags
2023-01-08 22:51:03 +01:00
Rémi Verschelde
c3c5eceb35
Merge pull request #70463 from DarkKilauea/nav-server-const
[4.x] Rework const on NavigationServer methods
2023-01-08 22:50:05 +01:00
Rémi Verschelde
69fd2f3571
Merge pull request #71064 from DarkMessiah/expose_clear_tabs
Expose TabBar::clear_tabs to GDScript
2023-01-08 22:45:58 +01:00
Rémi Verschelde
0d6fede757
Merge pull request #69809 from KoBeWi/runtime_enabler_2d
Fix VisibleOnScreenEnabler disabling in editor
2023-01-08 22:38:29 +01:00
Juan Linietsky
2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
Juan Linietsky
47592927b3 Use BitField<> hint for ArrayFormat
This was missing in the conversion of bitflags to BitField<>.
2023-01-08 18:47:48 +01:00
Stanislav Labzyuk
436cd91065 Expose TabBar::clear_tabs to GDScript 2023-01-08 13:52:57 +01:00
Dawid Marzec
9eeed06e65 Expose Tree::deselect_all to GDScript 2023-01-08 12:41:27 +01:00
Josh Jones
a0715b30f9 Rework const on NavigationServer methods
`const` is used on all methods, even when they cause modification of the server.  This reworks the methods of the server to only use `const` on method that don't change the state of the server.
2023-01-07 17:29:00 -08:00
Dawid Marzec
76a3f8e573 Fix text search in Tree with multiselect 2023-01-07 21:04:23 +01:00
Rémi Verschelde
d642274f75
Merge pull request #70939 from bruvzg/win_screen_2
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 13:21:36 +01:00
Rémi Verschelde
3579d7a9f7
Merge pull request #36301 from KoBeWi/daddy_node
Add reparent methods to Node
2023-01-07 13:20:56 +01:00
Juan Linietsky
398e73c689 Error when removing a phycics node during a physics callback
* This behavior is not allowed, the error text suggests using call_deferred().
* Added a check in Node::remove_child to prevent future crashes of this type.
* Fixed a performance regression introduced by #36244.

Fixes #63718, probably other crashes too.
2023-01-07 12:57:24 +01:00
bruvzg
2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection. 2023-01-07 11:14:35 +02:00
Rémi Verschelde
163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
Rémi Verschelde
bd15c3f80e
Merge pull request #71005 from dazKind/master
CodeEdit: Fix typo 'get_code_comletion_prefixes' -> 'get_code_completion_prefixes'
2023-01-06 22:56:44 +01:00
Michael Bickel
5d09bf8f05 fix typo 'comleption' -> 'completion' 2023-01-06 19:52:19 +01:00
Yuri Rubinsky
f101add78b Add uint type support to visual shaders 2023-01-06 10:35:25 +03:00
Rémi Verschelde
e070362bd0
Merge pull request #70963 from YuriSizov/editor-dead-codes-society
Simplify some editor plugin logic and remove dead code
2023-01-06 00:11:59 +01:00
Rémi Verschelde
e5f6e03490
Merge pull request #70547 from TokageItLab/pingpong-wrap
Fix pingpong-loop with `loop_wrap` is not working & clean-up cubic interpolation key retrieve process
2023-01-06 00:10:18 +01:00
Yuri Sizov
82c00c21e6 Simplify some editor plugin logic and remove dead code 2023-01-05 21:04:54 +03:00
Rémi Verschelde
798582acf0
Merge pull request #65609 from dalexeev/animated-sprite
`AnimatedSprite{2D,3D}` improvements
2023-01-05 15:00:31 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
b2a5b55533
Merge pull request #67749 from JonqsGames/clean_physical_bone_instancing
Test joint type on _set for PhysicalBone joints
2023-01-05 12:58:54 +01:00
Rémi Verschelde
778684ffaa
Merge pull request #70933 from fire/empty-organize-graph-node
Update GraphEdit to automatically arrange nodes if nothing is selected
2023-01-05 12:58:20 +01:00
Rémi Verschelde
d322c154a6
Merge pull request #70795 from KoBeWi/TweenCounted
Improve `RefCounted` support in `Tween`
2023-01-05 12:56:53 +01:00
Rémi Verschelde
60b028971d
Merge pull request #70824 from smix8/fix_navpoly_errormsg_4.x
Fix NavigationPolygon error msg
2023-01-05 12:55:02 +01:00