Commit graph

6203 commits

Author SHA1 Message Date
Hugo Locurcio
369e5a7f35
Mark InterpolatedCamera as deprecated
InterpolatedCamera has already been removed from the `master` branch.
This adds a deprecation notice to inform people about the upcoming removal
in Godot 4.0.

Its functionality could be replicated in a GDScript add-on with relative
ease.
2020-09-16 15:36:40 +02:00
clayjohn
a4f2fea2ae Fix axis bug regression in Sprite3D 2020-09-15 08:02:19 -07:00
Hugo Locurcio
e36587751f
Rename the type parameter to node_type in Theme and Control
This makes it clearer that it expects a node type as a string (such as "Label")
instead of a type like "TYPE_ARRAY". This is backwards-compatible since only
the name of the parameter is changed, not its order.

See https://github.com/godotengine/godot-proposals/issues/1495#issuecomment-691507839
2020-09-12 18:42:45 +02:00
Wilson E. Alvarez
2b7c9d9070
Disconnect item_rect_changed when removing a child of GraphEdit 2020-09-11 17:36:55 -04:00
PouleyKetchoupp
819765130d
Fix RichTextLabel alignment for clickable regions
Fixes #41006 (regression from #39164).

The original alignment fix was limited to PROCESS_DRAW mode, which
caused some discrepancies with PROCESS_POINTER mode.
Now only PROCESS_CACHE is excluded with a condition a few lines above.

(cherry picked from commit b783fa1416)
2020-09-11 11:15:40 +02:00
Rémi Verschelde
4a9264271d
doc: Sync classref with current source 2020-09-08 14:20:53 +02:00
Marcel Admiraal
f26131fca5
Check if old mouse column is still available.
(cherry picked from commit 79802b31a9)
2020-09-08 13:39:32 +02:00
PouleyKetchoupp
c21d14fe69
Fix LineEdit not consuming enter events
LineEdit should not return early when processing KEY_ENTER, so it can
consume the event properly.

Regression introduced by mistake while fixing enter events for Android
(PR #40487 - c0b394572f)

(cherry picked from commit 5c63dec36e)
2020-09-08 13:38:58 +02:00
Rémi Verschelde
3f276033c1
Merge pull request #41536 from Chaosus/vs_fix_specular_3.2
[3.2] Fix specular render_mode for visual shaders
2020-09-08 09:46:12 +02:00
Fredia Huya-Kouadio
0af5cded1e Fix the update logic for user-added custom defines.
The previous logic was causing the (unintentional) removal of custom defines automatically added by the engine.
2020-09-06 21:31:09 -07:00
Rémi Verschelde
8a66ea7cb0
Revert "Updated LineEdit to address #41278"
This reverts commit 1b6d116dfb.
2020-09-01 14:01:50 +02:00
Tony-Goat
1b6d116dfb
Updated LineEdit to address #41278
Updated set_max_length() function to actually pull a substring of the current text so it's not all thrown away when the new max length is shorter than the current length.

(cherry picked from commit 71febfd6e2)
2020-08-31 15:53:56 +02:00
Andrii Doroshenko (Xrayez)
7493bc5530
Make AnimatedTexture.MAX_FRAMES public
The constant is already exposed in GDScript, but not in C++.
This information is useful for implementing animated texture
resource importers via modules.

(cherry picked from commit 528056a3c5)
2020-08-31 15:29:43 +02:00
Yuri Roubinsky
7facd00ace [3.2] Fix specular render_mode for visual shaders 2020-08-28 13:06:55 +03:00
Rémi Verschelde
2d42625184
Revert "bug with Tween.is_active, fixes #39760"
This reverts commit 8ef40b9306.
2020-08-25 12:58:40 +02:00
PouleyKetchoupp
d82cc621e1
Fix 2D Particle velocity with directed emission mask
Changed CPU velocity calculation for EMISSION_SHAPE_DIRECTED_POINTS
to follow the same logic as in the GPU version:
mat2 rotm;
rotm[0] = texelFetch(emission_texture_normal, emission_tex_ofs, 0).xy;
rotm[1] = rotm[0].yx * vec2(1.0, -1.0);
VELOCITY.xy = rotm * VELOCITY.xy;

Now both CPUParticles2D & CPUParticles3D (z disabled) show the same results
as their GPU counterparts and take the initial velocity settings into account.

(cherry picked from commit 1c231cacb3)
2020-08-21 02:28:19 +02:00
Rémi Verschelde
a6ef6b10b2 Revert "Fixes the get_visible_line_count() of rich text label"
This reverts commit dc7e9d46e6.
2020-08-17 11:21:36 +02:00
Cheeseness
e70b165c61 Skip indentation of empty lines when indenting a selection.
(cherry picked from commit 1f159306ed)
2020-08-17 11:04:36 +02:00
Rémi Verschelde
5acc78ac81
Merge pull request #41314 from clayjohn/Sprite3D-uvs
Check for uncompressed uvs in Sprite3D
2020-08-17 08:44:51 +02:00
clayjohn
d33a9aaacb Check for uncompressed uvs in Sprite3D 2020-08-16 19:19:14 -07:00
Tomasz Chabora
7ce476c425 Expose NOTIFICATION_POST_ENTER_TREE
(cherry picked from commit 677796a2c3)
2020-08-14 00:32:05 +02:00
Umang Kalra
330afdd6cb Fix RichTextLabel center alignment bug
Fixes #40207.

(cherry picked from commit cec21ab82c)
2020-08-14 00:32:05 +02:00
Yuri Roubinsky
d0c705781c [3.2] Added UniformRef visual shader node 2020-08-11 15:04:06 +03:00
Martin Capitanio
71bad8dba6 Add option to disable virtual keyboard for TextEdit
Adding support for disabling virtual keyboard on mobile platforms, in
order to make it consistent with LineEdit.

It allows implementing a custom virtual keyboard.

See: https://github.com/godotengine/godot/pull/41139
2020-08-09 18:22:11 +02:00
ConorLPBoyle
ba3f0fa971 Fixed reload_goal not being called when SkeletonIK3D::start is invoked with p_one_time = true
(cherry picked from commit fa4d9c9446)
2020-07-28 11:28:34 +02:00
Tomasz Chabora
cd01cda143 Fix ultra long node names
(cherry picked from commit d3f2062d86)
2020-07-28 00:43:37 +02:00
Daniel Ting
6f71bc2a06 Evenly distribute stretched Nodes in BoxContainer
Add any leftover fractional pixels to an error accumulator. When the
accumulator is greater or equal to one, add one pixel to the current
Node's size and subtract one from the accumulator.

Closes #36522

(cherry picked from commit 04ea6ec88d)
2020-07-28 00:39:21 +02:00
Rémi Verschelde
a2edf04fd2
Merge pull request #40469 from nekomatata/virtual-keyboard-enter-fixes-3.2
[3.2] Fix Return key events in LineEdit & TextEdit on Android
2020-07-26 20:26:02 +02:00
Tomasz Chabora
307bac0757 Keep transition value when replacing key
(cherry picked from commit e1a1bb0a6e)
2020-07-24 10:31:57 +02:00
PouleyKetchoupp
930c880fa6 Add option to disable virtual keyboard for LineEdit
Co-authored-by: Alexander Holland <alexander.holland@live.de>
(cherry picked from commit 0aa56e3ab8)
2020-07-24 10:31:57 +02:00
Tomasz Chabora
e511e0f16a Prevent infinite loop in Tree incremental search
(cherry picked from commit c0479496fa)
2020-07-24 10:31:57 +02:00
Umang Kalra
dc7e9d46e6 Fixes the get_visible_line_count() of rich text label
(cherry picked from commit bd32c273ff)
2020-07-24 10:31:56 +02:00
Chistpohe LY
8ef40b9306 bug with Tween.is_active, fixes #39760
(cherry picked from commit d60617de10)
2020-07-24 10:31:56 +02:00
Rémi Verschelde
7b4b83e9dc
Merge pull request #39817 from yrk06/ExposeInertiaTensor
Added Rigid Body Method "get_inverse_inertia_tensor"
2020-07-21 16:50:56 +02:00
clayjohn
fb4e55bb7a Pass Sprite3D AABBs to VisualServer 2020-07-20 20:22:12 -07:00
Pedro J. Estébanez
633b75c9e1 Fix debugger not getting focused on break on Windows
This is a revert of 9d78274e06, which was an attempt to fix #21431, but in the end it seems a different problem was the root of the issue.

Renewing focus steal allowance every time is needed on Windows.
2020-07-21 01:09:17 +02:00
Pedro J. Estébanez
06904ac215 Add DynamicFont::get_available_chars() 2020-07-20 17:45:04 +02:00
Yerik
d09b16512b Added Method get_inverse_inertia_tensor 2020-07-19 13:51:32 -03:00
PouleyKetchoupp
c0b394572f Fix Return key events in LineEdit & TextEdit on Android
Depending on the device implementation, editor actions could be
received with different action ids or not at all for multi-line.

Added a parameter to virtual keyboards to properly handle single-line
and multi-line cases in all situations.

Single-line:
Input type set to text without multiline to make sure actions are sent.
IME options are set to DONE action to force action id consistency.

Multi-line:
Input type set to text and multiline to make sure enter triggers new lines.
Actions are disabled by the multiline flag, so '\n' characters are
handled in text changed callbacks.
2020-07-17 18:25:40 +02:00
Juan Linietsky
ceeb690476 Properly pass safe margin on initialization.
Fixes jitter.

(cherry picked from commit 13e0385702)
2020-07-15 12:48:18 +02:00
Patrick Dawson
8218170b3c Avoid overflow when calculating visible_cells
(cherry picked from commit 9e28df22a0)
2020-07-15 12:11:31 +02:00
Rémi Verschelde
37100384c3
Merge pull request #40300 from 0xafbf/fix-parent-check
Fix parent check for add_child_below_node
2020-07-14 09:14:28 +02:00
Maganty Rushyendra
e76a9a51df Emit signals for GraphEdit multi-node selection and unselection
Emit `node_selected` and `node_deselected` signals where appropriate
when selecting or unselecting multiple GraphEdit nodes at once.

(cherry picked from commit c1d5c7727c)
2020-07-13 15:12:50 +02:00
ArrowInAKnee
e48430b1d4 Make all get_configuration_warning() overrides retrieve warnings from parent 2020-07-13 01:50:02 +03:00
Andrés Botero
6b05f8f602 Fix parent check for add_child_below_node 2020-07-11 15:57:17 -05:00
Maganty Rushyendra
76a43c93cd Fix repeated updates of PathFollow3D Transform
Add optional parameter to specify whether applying rotation to the
PathFollow3D's Transform is necessary, preventing erroneous updates.

(cherry picked from commit be3a1769fe)
2020-07-10 10:59:24 +02:00
Rémi Verschelde
1f886d1f31
Merge pull request #39867 from clayjohn/Sprite3D-mesh
Use mesh instead of immediate for drawing Sprite3D
2020-07-06 16:36:27 +02:00
Rémi Verschelde
3a916152d8
Merge pull request #39803 from TwistedTwigleg/3.2.skeleton_ik_scale_fix
[3.2] Fixed SkeletonIK not working with scaled skeletons
2020-07-06 16:16:57 +02:00
Andrii Doroshenko (Xrayez)
41f99c8f53 Provide warning when using polygon shapes in CollisionShape2D node
`ConvexPolygonShape2D` and `ConcavePolygonShape2D` are only meant to be
used directly in code and not in the editor for physics-based use cases
specifically.

Developers are advised to use `CollisionPolygon2D` instead, which does
generate those shapes under the hood, handling polygon convexivity,
proper orientation etc.

(cherry picked from commit dc446203be)
2020-07-06 14:16:28 +02:00
Rémi Verschelde
037571d08e
Merge pull request #40087 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.3) - 1st batch
2020-07-04 01:37:52 +02:00
clayjohn
6c0ff26f35 Use mesh instead of immediate for drawing Sprite3D 2020-07-03 12:19:26 -06:00
lrgilbert
c0db0749f7 Fixed separation of ports on GraphNode
Fixes #32474.

(cherry picked from commit 47c929c972)
2020-07-03 15:34:30 +02:00
PouleyKetchoupp
d6b23306c8 Fix RichTextLabel fill alignment regression
Fixes #40068 (regression from #39164) by not applying the line offset
change in the case of fill alignment mode.

(cherry picked from commit 44f88999c7)
2020-07-03 15:34:30 +02:00
Pedro J. Estébanez
a235bab96c Ignore blend times for inexistent animations
(cherry picked from commit fdf1977e8f)
2020-07-03 15:34:30 +02:00
Rémi Verschelde
d004188348 Environment: Fix glow hdr bleed scale being unused
The glow hdr bleed threshold was passed in its stead.

Fixed in master too with #40016.
2020-07-03 14:27:42 +02:00
Michael Alexsander
32c154d297 Fix Tree's 'scroll_to_item()' not working correctly on some cases
(cherry picked from commit 144a4cc39f)
2020-07-03 13:17:57 +02:00
Hugo Locurcio
89421c58cd Write "Aces" tonemapping in uppercase as it's an acronym
(cherry picked from commit a31fc59ff3)
2020-07-03 13:17:57 +02:00
lordkettune
c68ef4d754 Fix issues with custom tracks on reimport
(cherry picked from commit 4313a7bdc8)
2020-07-03 13:17:57 +02:00
Mark Kuo
46590fa3b0 VideoPlayer: fix possible race condition
In set_stream() we write to 'playback' while accessing the same object
in _mix_audio() in audio thread. Protect the 'write' part in
set_stream() to avoid possible crash in _mix_audio() function.

(cherry picked from commit e435d57758)
2020-07-03 13:17:57 +02:00
Thakee Nathees
3a08658881 animation autocomplete bug fixed
(cherry picked from commit b07e788ad9)
2020-07-03 13:17:57 +02:00
Haoyu Qiu
38509f1a89 Prevent dragging from SceneTree buttons
(cherry picked from commit 45d0799b5b)
2020-07-03 13:17:57 +02:00
PouleyKetchoupp
83e376e731 Format remote printerr properly in script debugger output
Fixes #33324
2020-07-02 17:43:37 +02:00
TwistedTwigleg
3dc466b244 Fixed issue where the SkeletonIK node would incorrectly scale bones in the IK chain 2020-07-01 11:16:25 -04:00
Adam Reichold
f06fc1fdf4 Call Spatial::get_global_transform and Vector3::dot only once within Camera::is_position_behind to avoid redundant work.
(cherry picked from commit b2a204799a)
2020-06-29 10:48:45 +02:00
Stijn Hinlopen
65155c2855 No longer scroll vertically when scrollbars are unavailable
(cherry picked from commit 5f7499beac)
2020-06-29 10:47:43 +02:00
Pedro J. Estébanez
0f0360702b Handle gone TabContainer popup nicely 2020-06-24 19:31:26 +02:00
Rémi Verschelde
571a0c60c0 Revert "Implement Skew in Node2D"
This reverts commit 7f61710183.

See #38868, in its current implementation a small skew value might end up
serialized to scene files due to floating point precision errors, which is
detrimental to VCS.

This can be cherry-picked anew once a fix for #38868 has been found.
2020-06-22 10:26:06 +02:00
Marcel Admiraal
b006f5402d Check for motion in cast_motion() before doing Bullet convexSweepTest().
Also ensure that default closest_safe and closest_unsafe values are
defined in cast_motion() and before cast_motion() is called.
2020-06-21 16:28:01 +01:00
PouleyKetchoupp
b3af0b2a39 Option in RichTextLabel for height to fit content
(cherry picked from commit ad8081216c)
2020-06-19 16:17:27 +02:00
Andy Maloney
5bbb15418f [3.2][macOS] Command-backspace in line edit
Make command-backspace in line edit work like other macOS applications.

If there is a selection, command-backspace deletes the selection.

If there isn't a selection, command-backspace deletes from the cursor to the beginning of the line edit.

This addresses part of godotengine/godot#23548
2020-06-18 17:42:51 -04:00
Andrii Doroshenko (Xrayez)
5084043373 Bind Shape2D draw method
(cherry picked from commit 430d1fd795)
2020-06-18 10:51:44 +02:00
Marcel Admiraal
ea4ee986b5 Normalise p_up_direction vector in move_and_slide() and
move_and_slide_with_snap() and fix tolerance in
move_and_slide_with_snap() max floor angle.
2020-06-16 10:11:54 +01:00
Rémi Verschelde
2e8480d56a
Merge pull request #39571 from Chaosus/fix_vs
[3.2] Use path instead classname to prevent errors for exported visual shaders
2020-06-16 09:33:15 +02:00
Yuri Roubinsky
87ebc29d8e Use path instead classname to prevent errors for exported visual shaders 2020-06-15 21:33:32 +03:00
Ranoller
616fb219db
(3.2) Fix bad position in Camera2D offset and camera rotation if smothing enabled
Fix https://github.com/godotengine/godot/issues/16323 in 3.2 branch. Apply same solution of https://github.com/godotengine/godot/issues/2074 in rotation and offset.
2020-06-15 16:34:03 +02:00
Umang Kalra
1d0c39e395 Fixes the stopping of animation effects in bbcode after appending
(cherry picked from commit 88b30a29bf)
2020-06-15 14:34:35 +02:00
Lisandro Lorea
cb119e349a Fix TabContainer emitting spurious tab_selected signals when a theme is changed
- The repaint code was moved outside of set_current_tab() and to a "_repaint()" private function
- _on_theme_changed() will now only call _repaint() and update()
This means _on_theme_changed() will do only what it needs (repainting the TabContainer to account for the new theme)

fixes #39498

(cherry picked from commit 5123006f06)
2020-06-15 14:34:35 +02:00
Tomasz Chabora
2f04896b0e Re-enable scroll follow on RichTextLabel clear
(cherry picked from commit 46fd51056a)
2020-06-15 14:34:35 +02:00
Thibault Truffert
24b3bf0637 Make text deletion methods public for LineEdit
(cherry picked from commit 2bb44ea5bd)
2020-06-11 09:42:23 +02:00
Maganty Rushyendra
0df5d74e6e Fix signal duplication bug when duplicating node with instanced children
Change error checking in `duplicate_signals()` to check for path to
`p_original`, thus adhering to the method used in `duplicate`, instead
of checking for ownership.
2020-06-11 09:37:47 +08:00
Rémi Verschelde
7bf9787921 SCons: Format buildsystem files with psf/black
Configured for a max line length of 120 characters.

psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:

- Manually wrapped strings will be reflowed, so by using a line length
  of 120 for the sake of preserving readability for our long command
  calls, it also means that some manually wrapped strings are back on
  the same line and should be manually merged again.

- Code generators using string concatenation extensively look awful,
  since black puts each operand on a single line. We need to refactor
  these generators to use more pythonic string formatting, for which
  many options are available (`%`, `format` or f-strings).

- CI checks and a pre-commit hook will be added to ensure that future
  buildsystem changes are well-formatted.

(cherry picked from commit cd4e46ee65)
2020-06-10 15:30:52 +02:00
Michael Alexsander
2652a2d184 Add generic file icon and its modulation to the 'FileDialog'
(cherry picked from commit 637927f803)
2020-06-10 15:30:52 +02:00
Rémi Verschelde
f3fcdfbdd0 PackedScene: Prevent crash when root node has parent attribute
The crash happens further down when setting an invalid owner in
`Node::_set_owner_nocheck` but I couldn't figure out how to fix it.

But here the proper fix is to catch the invalid scene file early on
and fail loading it.

Part of #17372.

(cherry picked from commit c080ec5da2)
2020-06-10 15:30:52 +02:00
Giuliano Barberi
221051d523 Tree: Calling update in _gui_input less frequently
(cherry picked from commit d443a13244)
2020-06-10 15:30:51 +02:00
Tomasz Chabora
e94aab7936 Restore capture caches when missing
(cherry picked from commit 642d91381a)
2020-06-10 15:30:51 +02:00
Marcus Brummer
ae67ec3ece Set "shader_param/" prefix in Shader::has_param()
(cherry picked from commit ffbb211bbe)
2020-06-05 12:47:01 +02:00
Hugo Locurcio
61da4882aa Add performance hints to the DirectionalLight shadow mode property hint
This also clarifies some parts in the DirectionalLight documentation.

(cherry picked from commit b46756c723)
2020-06-04 12:16:39 +02:00
Umang Kalra
c1f6854ada Fixes the right and center alignment bug of rich text label
(cherry picked from commit b2a32d007d)
2020-06-04 12:09:40 +02:00
Hugo Locurcio
d56b9d5ebf Disable antialiasing on the DynamicFont outline as well when requested
This partially addresses
https://github.com/godotengine/godot-proposals/issues/943.

(cherry picked from commit 2919fc7317)
2020-06-04 12:09:40 +02:00
Maganty Rushyendra
25af738762 Expose get_char_size() from Font instead of BitmapFont
`get_char_size()` is a public virtual function defined in the `Font`
class. Implementations exist for both `BitmapFont` and `Dynamic Font`.
However, it was only exposed to the GDScript API through the Bitmap
Font, and not for Dynamic Font.

This commit exposes the function through `Font` instead.

Fixes #23967

(cherry picked from commit a4413710f9)
2020-06-04 12:09:39 +02:00
Dominik 'dreamsComeTrue' Jasiński
d15e9c2126 Allow scroll_to_line when scroll_active is 'false'
Fix #36134

(cherry picked from commit 8f11a91917)
2020-06-04 12:09:39 +02:00
Thakee Nathees
25ed0d4366 colorpicker margin bug fixed
(cherry picked from commit 9d224ac429)
2020-06-04 11:14:16 +02:00
PouleyKetchoupp
719369c71b Fix resource preview in remote inspector
The specific case for object reference seems unnecessary, as `RES res = var`
already does the work. The case where REF is invalid is never hit in the case
of already freed objects.

The assignment `res = *r` was causing the resource to be always invalidated
on the 3.2 branch.

(cherry picked from commit 12685df423)
2020-05-25 11:46:51 +02:00
Marcel Admiraal
dac3504cc3 Fix C4724: potential mod by 0 warnings. 2020-05-21 11:28:01 +01:00
SkyJJ
2197ef0566 Fix Android LineEdit editing bugs
(cherry picked from commit cc473b948f)
2020-05-20 12:07:08 +02:00
Rémi Verschelde
f390749439 Fix Visual Studio C4724 warning (potential mod by 0) 2020-05-19 11:09:28 +02:00
Marcus Brummer
4779d289d5 Fixed text editor drawing if smooth scrolling is disabled.
Fixes #38778

(cherry picked from commit b048eb05ad)
2020-05-18 16:40:33 +02:00
smartin015
8cab02ec06 Remove get_local_mouse_position() hack in GraphEdit
(cherry picked from commit 00457c68bc)
2020-05-18 16:40:33 +02:00
Fredia Huya-Kouadio
4db8ade565 Remove the custom_defines section from the editor 2020-05-18 01:07:38 -07:00
etienne.frank
46327d48a2 Fix minimap selection offset
The minimap selection was shifted of 1 line too late.

(cherry picked from commit 72ab355945)
2020-05-13 16:10:12 +02:00