Commit graph

3758 commits

Author SHA1 Message Date
Rémi Verschelde
c97201babc
Merge pull request #76545 from JoNax97/gradient_color_spaces
Add Linear SRGB and OKLab color spaces to Gradient.
2023-05-29 10:28:58 +02:00
Rémi Verschelde
990943782a
Merge pull request #74959 from MewPurPur/nice-curves
Overhaul the Curve Editor
2023-05-29 10:28:53 +02:00
VolTer
a3c4a4b039 Overhaul the Curve Editor 2023-05-28 14:17:51 +02:00
JoNax97
c07b2fcf4d Add Linear SRGB and OKLab color spaces to Gradient. 2023-05-26 16:18:01 -03:00
smix8
66a8418a2d Remove unnecessary Clipper lib includes
Removes unnecessary Clipper lib includes.
2023-05-24 23:57:08 +02:00
Silc Renew
42aa5398d9 Fix Pathfollow direction
Co-authored-by: aaronfranke <arnfranke@yahoo.com>
2023-05-24 17:37:00 +09:00
bruvzg
aaddec7cb8
[TextServer] Add support for retrieving OpenType name strings. 2023-05-22 18:08:34 +03:00
Rémi Verschelde
5dc093b19a
Merge pull request #77341 from RedworkDE/doctool-material-error-fix
Fix error in `BaseMaterial3D` when running doctool
2023-05-22 17:02:23 +02:00
RedworkDE
69f2bc2751 Improve SelfList and fix error in BaseMaterial3D when running doctool 2023-05-22 16:38:57 +02:00
Rémi Verschelde
65fa775ff6
Merge pull request #75469 from ibotha/fix/74259-sky-cover-not-reset-properly
Properly set sky_cover property of sky_material to Nil in setter
2023-05-22 14:13:16 +02:00
Isard Botha
74041e3705
Fix issue 74259 by setting the sky cover property back to nil when it is reset in the editor. 2023-05-21 18:35:33 +01:00
ajreckof
465742d904 Fix typed array export
Apply suggestions from code review to squash later

Revert "Fix typed array export... again"

This reverts commit da8d6734fb.

Co-Authored-By: Tomek <kobewi4e@gmail.com>
2023-05-21 08:40:11 +02:00
David Giardi
16f6f40669 Remove useless polygons from StyleBoxFlat drawing 2023-05-20 14:28:47 +02:00
Biggles Bristol
c920a4f051 [Fixed] for "off-by-1" bug when sampling "baked" curve data towards the end of the curve.
[Fixed] Failing test "[Curve] Custom curve with free tangents" by setting the curve's `bake_resolution` to 11.
[Fixed] test messages in "[Curve] Custom curve with free tangents" to match sample offset used in each test
[Added] New test "[Curve] Straight line offset test" in response to pull request feedback.
Update tests/scene/test_curve.h

Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2023-05-20 11:28:09 +01:00
KdotJPG
91bdd4073b Reworked Particle Turbulence - Rebased. 2023-05-17 14:25:21 +02:00
Rémi Verschelde
12b7a56202
Merge pull request #76713 from KoBeWi/TODO_is_now
Fix 2D audio in multiple viewports
2023-05-16 11:00:45 +02:00
bruvzg
9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
FranckRJ
ab5462e386 Fixed width of CapsuleShape2D::get_rect + set center to center of shape
The width of the rect was only half of the width of the shape, and
the 0;0 coord was at the top left of the rect.
Now the width properly matches the width of the shape, and the 0;0
coord is at the center of the shape. It should match the behavior
of Godot 3.X.
2023-05-14 18:09:07 +02:00
Rémi Verschelde
cc48827e4a
Merge pull request #76946 from AThousandShips/shadow_warning
Enable shadow warnings and fix raised errors
2023-05-12 10:04:09 +02:00
smix8
f986b52b3c Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
2023-05-11 18:46:34 +02:00
Ninni Pipping
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Pedro J. Estébanez
b6647a5808 Avoid sync issues in materials with scheduled shader updates 2023-05-10 18:53:41 +02:00
Pedro J. Estébanez
8983b20ccd Avoid interaction issues between resource loading threads 2023-05-10 18:53:41 +02:00
Rémi Verschelde
c9f81045be
Merge pull request #76536 from AThousandShips/bit_poly_size
Fix size error in `BitMap.opaque_to_polygons`
2023-05-08 13:52:46 +02:00
Rémi Verschelde
3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
Rémi Verschelde
e70777260d
Merge pull request #70911 from Chaosus/vs_custom_gdextension_support
Add handling of custom visual shader nodes from GDExtension
2023-05-08 12:20:00 +02:00
RedworkDE
1324c7d06a Avoid making unnecessary copies of LocalVector 2023-05-06 20:39:03 +02:00
Yuri Rubinsky
998b48f722 Add handling of custom visual shader nodes from GDExtension 2023-05-06 08:19:12 +03:00
David Turner
43a7cb093c Explain why an image would be invalid for a texture 2023-05-05 14:33:01 -04:00
Clay John
12e4323f17
Merge pull request #75427 from Chaosus/shader_fix_groups_ordering
Fix shader uniform groups to prevent it sorting in alphabet order
2023-05-05 09:08:37 -07:00
kobewi
8a41eefb97 Fix 2D audio in multiple viewports 2023-05-03 23:09:40 +02:00
smix8
2dbc5d95eb Fix SurfaceTool::create_from_blend_shape()
Fixes SurfaceTool::create_from_blend_shape().
2023-05-02 08:48:48 +02:00
Juan Linietsky
1c93606e47 Add ValidatedCall to MethodBind
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.

NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
Ninni Pipping
249784ed53 Fix size error in BitMap.opaque_to_polygons
Previous estimate of upper limit on size was incorrect
2023-04-28 19:01:02 +02:00
bitsawer
35b06f05a2 Revert "Fix ShaderMaterial uniform type changes"
This reverts commit e55c6bfb7b.
2023-04-28 11:37:29 +03:00
Rémi Verschelde
5cc50c11d5
Merge pull request #76438 from bitsawer/fix_shader_uniform_typing
Fix ShaderMaterial uniform type changes
2023-04-27 23:55:43 +02:00
Rémi Verschelde
cedd3378f5
Merge pull request #69053 from KoBeWi/grabbercentrism
Add center_grabber theme property to Slider
2023-04-27 08:18:37 +02:00
Rémi Verschelde
bbecc8ae0d
Merge pull request #70234 from Rindbee/fix-uid-lost
Fix the uid field of the tscn/res file is lost when the external dependency is updated
2023-04-25 16:16:47 +02:00
bitsawer
e55c6bfb7b Fix ShaderMaterial uniform type changes 2023-04-25 15:01:56 +03:00
Rémi Verschelde
ed62d965eb
Merge pull request #75429 from MewPurPur/Literally-cant-have-a-functioning-level-editor-because-of-this-please-helppp
Fix PackedScenes created with PackedScene.pack() have their exported nodes become null
2023-04-25 09:58:41 +02:00
Silc Renew
fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09:00
Rémi Verschelde
dfee04ae2a
Merge pull request #74632 from davthedev/tabs-hover
Add theming support for hovered tabs
2023-04-24 16:42:38 +02:00
kobewi
14cb9b5b26 Add center_grabber property to Slider 2023-04-22 17:53:17 +02:00
Rémi Verschelde
77fc22d6e2
Merge pull request #76290 from JohanAR/light_is_directional_spatial
Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders
2023-04-21 15:50:27 +02:00
VolTer
0a4a1bc4b8 Add a square fill mode to GradientTexture2D 2023-04-20 16:32:42 +02:00
Johan Aires Rastén
14a8124ffe Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders 2023-04-20 14:33:30 +02:00
David Giardi
9f1e18e64c Add theming support for hovered tabs
Tabs can now be styled differently when hovered by the mouse pointer.
2023-04-19 01:38:09 +02:00
David Giardi
142990d60a Add hovered item style to ItemList 2023-04-18 22:52:39 +02:00
David Giardi
2ef20045b1 Fix blurry borders on antialiased FlatStyleBox
This is a fix of the antialiasing logic of FlatStyleBox.
It is now possible to have smooth rounded corners while keeping
the edges sharp on the pixels.

The antialiasing gradient positioning is ajusted so that the "hard"
border corresponds to the middle of that gradient instead of one end.
Checked against rendering of rounded rectangles in a vector graphics
software.
2023-04-17 20:23:03 +02:00
Yuri Sizov
bd3286eed2
Merge pull request #75999 from clayjohn/Particles-angle-rand
Use angle_rand to calculate base_angle in particles process material
2023-04-14 13:14:34 +02:00
clayjohn
821917ba9f Use angle_rand to calculate base_angle in particles process material 2023-04-13 15:10:47 -07:00
VolTer
6c6c1302f3 Fix PackedScenes created with PackedScene.pack() have their exported nodes become null 2023-04-13 16:16:13 +02:00
Rémi Verschelde
13f2a4c7ae
Merge pull request #75993 from AThousandShips/autohide_theme
Don't apply scale to autohide theme property
2023-04-13 09:55:30 +02:00
clayjohn
9be0a73294 Add EXPOSURE built in to spatial shaders
This allows users to restore light values to pre-pre-exposure amounts
2023-04-12 10:35:13 -07:00
Ninni Pipping
722597aa97 Don't apply scale to autohide theme property 2023-04-12 17:40:40 +02:00
Rémi Verschelde
d4dad2b2f8
Merge pull request #75957 from clayjohn/VS-default-modes
Write out render_mode even when mode is set to default in VisualShaders
2023-04-12 17:01:24 +02:00
kobewi
20261016a7 Fix typed array export
Co-authored-by: Guilherme Sousa <guilherme.sousa1994@gmail.com>
2023-04-12 12:19:17 +02:00
clayjohn
016946b552 Write out render_mode even when mode is set to default in VisualShaders 2023-04-11 18:03:00 -07:00
Rémi Verschelde
fff0ee0fc4
Merge pull request #75822 from YeldhamDev/no_multi_zero
Remove unnecessary zero multiplications
2023-04-11 19:40:40 +02:00
Yuri Sizov
5243f5cece
Merge pull request #72152 from smix8/mcd_settings_4.x
Add Mesh ConvexDecompositionSettings wrapper
2023-04-10 12:52:23 +02:00
Yuri Sizov
8784f95e1f
Merge pull request #75777 from 3deathtoll/patch-1
Make `SyntaxHighlighter::get_text_edit` a const function
2023-04-10 12:49:04 +02:00
Michael Alexsander
f057d755ab Remove unnecessary zero multiplications 2023-04-08 09:31:05 -03:00
smix8
1549aeaef8 Add Mesh ConvexDecompositionSettings wrapper
Adds wrapper MeshConvexDecompositionSettings to control parameters for Mesh ConvexDecomposition operations.
2023-04-07 22:39:25 +02:00
3deathtoll
3841c4a4b4 Make SyntaxHighlighter::get_text_edit a const function 2023-04-07 23:46:50 +05:30
Yuri Sizov
b5f532094e
Merge pull request #56671 from Rgtemze/warn_if_concave
Warn when a concave polygon is assigned to ConvexPolygonShape2D
2023-04-07 14:39:41 +02:00
Haoyu Qiu
498d538578 Add scrollbar offset theme constants to Tree 2023-04-06 15:04:28 +08:00
Yuri Sizov
1522762dc9 Make icons of scripted and custom classes fit the editor UI
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.

Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
bruvzg
efa647bb17
[RTL] Fix fill align and trim with enabled dropcap. 2023-03-30 22:23:39 +03:00
Yuri Rubinsky
8ea4acee49 Fix shader uniform groups to prevent it sorting in alphabet order 2023-03-28 18:36:10 +03:00
Ninni Pipping
3795677f3d Make Gradient resort points on reverse 2023-03-22 19:32:00 +01:00
Yuri Sizov
7ca4ad8647
Merge pull request #75079 from mihe/shape-margin
Update property/documentation of shape margins
2023-03-20 16:30:10 +01:00
bruvzg
09465f3fe6
Remove (or make verbose only) various debug prints. 2023-03-20 08:14:18 +02:00
Mikael Hermansson
ec6694ce3c Open up bounds of Shape3D.margin to support other physics engines 2023-03-18 20:52:13 +01:00
Yuri Sizov
98d95f3a0e
Merge pull request #74149 from bruvzg/get_char
[Font] Implement `get_char_from_glyph_index` function.
2023-03-16 13:07:11 +01:00
Yuri Sizov
bdefdc866b
Merge pull request #74910 from paddy-exe/fix-ndc-depth-gles3
Fix ndc calculation for LinearSceneDepth VS node in GLES3
2023-03-16 12:01:07 +01:00
Rindbee
69f488e687 Property list changes are only notified when it did change in Curve
`Object::notify_property_list_changed()` should only be called when
the structure of the property has actually changed.

The structure of the property tree has not changed if the size of the
array has not changed, and the only possibility is that the element
value has changed.
2023-03-15 09:51:15 +08:00
Patrick
e3802d5b6f Fix ndc calculation for LinearSceneDepth VS node in GLES3 2023-03-14 15:05:01 +01:00
Rémi Verschelde
b31d00a914
Merge pull request #74740 from clayjohn/sky-filter
Use linear filtering without mipmaps for ProceduralSkyMaterial and PhysicalSkyMaterial
2023-03-10 22:49:29 +01:00
clayjohn
572ac91514 Use linear filtering without mipmaps for ProceduralSkyMaterial and PhysicalSkyMaterial 2023-03-10 10:48:45 -08:00
RedworkDE
f540148072 Add dedicated setter for ImageTextureLayered::_images to fix create_from_images being hidden from the C# bindings 2023-03-09 17:53:36 +01:00
Yuri Sizov
64215ad119 Generate empty textures for theme icons if the SVG module is disabled 2023-03-07 15:31:19 +01:00
clayjohn
e9d80a821d Set properties of ImageTexture3D when creating 2023-03-06 14:57:17 -08:00
Rémi Verschelde
a2d449f22e
Merge pull request #74212 from bruvzg/bmp_def_out
[Bitmap font] Assume outline size is `1` if it's not set, but channel for outline is defined.
2023-03-03 11:07:28 +01:00
Rémi Verschelde
f339f8e3d2
Merge pull request #73713 from SirQuartz/graph-node-close-button
Fix Graph Node close rect default position
2023-03-02 11:26:28 +01:00
bruvzg
67762ec4a6
[Bitmap font] Assume outline size is 1 if it's not set, but channel for outline is defined. 2023-03-02 08:36:17 +02:00
bruvzg
8459aeaab0
[Font] Implement get_char_from_glyph_index function. 2023-03-01 09:29:11 +02:00
clayjohn
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
Lyuma
51a4fe1d53 import: Fix uv2 by avoiding premature ImporterMesh::get_mesh()
Implements create_convex_shape in ImpoterMesh.
Note: ImporterMeshInstance3D::get_mesh() is safe.
The only dangerous function with side effects is ImpoterMesh::get_mesh()
2023-02-23 11:55:28 +01:00
Nicholas Huelin
961d6763fb Modify the default theme GraphNode close_h_offset
Modifies the close_h_offset to be 12 instead of 22. This better aligns the default position.
2023-02-22 14:51:15 -05:00
Rémi Verschelde
0a15f51617
Merge pull request #73741 from dalexeev/fix-sprite-frames-convert
Fix `SpriteFrames` data loss on 3-to-4 conversion
2023-02-22 10:13:57 +01:00
Danil Alexeev
d49ac0466f
Fix SpriteFrames data loss on 3-to-4 conversion 2023-02-22 11:17:10 +03:00
kobewi
a899f547ae Fix reset_state() in TileSet 2023-02-21 22:38:20 +01:00
Yuri Rubinsky
faf62ba0cc Add DEPTH to the visual shader output (for spatial mode) 2023-02-21 20:19:37 +03:00
Juan Linietsky
34fd128723 Fix shader parameter assign
-Make sure the remap is created properly if never assigned before.

Fixes #72923. Supersedes #73066.
2023-02-18 13:13:54 +01:00
Yuri Sizov
0c4bdf443d
Merge pull request #65353 from QbieShay/qbee/fix-billboard-nonuniform-scale 2023-02-18 12:31:42 +03:00
Rémi Verschelde
1075931c64
Remove unexposed ProxyTexture, mark AnimatedTexture as deprecated
According to reduz:

> [AnimatedTexture] should be removed together with ProxyTexture, its just
> not efficient at all in Vulkan and causes invalidation of all descriptor
> sets depending on it
> it was needed mostly for animated tilemaps, but nowadays there is not a lot
> of reason for it

Marking AnimatedTexture as deprecated accordingly, until we reach consensus
for removing it completely.
2023-02-17 12:32:26 +01:00
Tecelli Akıntuğ
1ba05b4b3a
Fix AnimatedTexture inconsistency when setting frame 2023-02-16 22:34:10 +01:00
Haoyu Qiu
ccc3bdebb3 Add missing i18n in tiles editor 2023-02-15 23:08:03 +08:00
Chris Hutchinson
d842d215df Prevent crash in ImmediateMesh.create_outline by ensuring
that when no indices are specified, the number of vertices is
at least a factor of 3. Fixes #73201
2023-02-14 22:42:07 -05:00
QbieShay
7881422901 make particle billboard take into account non-uniform scale 2023-02-13 21:18:55 +01:00
Rémi Verschelde
a90bbc3544
Merge pull request #72225 from MinusKube/shaped_text_invalidated_bug
Mark dirty flags when shaped texts are invalidated
2023-02-13 09:13:27 +01:00
Rémi Verschelde
77b415ab6d
Fix SurfaceTool crash with invalid bone/weight count
Fixes #53191.
2023-02-12 14:14:03 +01:00
Ziya Erkoc
6fb113f59f
Warn if a concave shape is assigned to ConvexPolygonShape2D 2023-02-11 21:58:35 +01:00
Aaron Franke
be916233f9
Check for CanvasItem instead of Control and Node2D 2023-02-11 02:18:10 -06:00
Rémi Verschelde
b12bf7ff02
Merge pull request #69550 from Rindbee/fix-script-editor-not-reload-via-lsp
Fix internal editor not updating when using external editor via LSP
2023-02-09 14:01:33 +01:00
clayjohn
04a9933f2e Mark fma function as high end so it isn't used with the gl_compatibility renderer 2023-02-08 12:56:15 -08:00
kobewi
095c805079 Fix sub-resource IDs resetting when preloaded 2023-02-07 14:13:22 +01:00
Patrick Dawson
80ae3feca7 Avoid returning self from _get_base_font_or_default() 2023-02-05 04:37:59 +01:00
Rémi Verschelde
ea5cf7d4b8
Merge pull request #72655 from smix8/navigationmesh_bake_aabb_fix_4.x
Fix NavigationMesh baking AABB Editor handling and visuals
2023-02-04 00:21:33 +01:00
Yuri Rubinsky
c0a3129210 Prevent preview error for the instance parameter in visual shader 2023-02-03 15:28:04 +03:00
smix8
7caf08ec75 Fix NavigationMesh baking AABB Editor handling and visuals
Fixes handling and visuals for Navigation Mesh baking AABB in the Editor.
2023-02-03 11:54:13 +01:00
Hugo Locurcio
dc06575475
Add a property hint for PrimitiveMesh's uv2_padding
Negative values are not valid and will always cause lightmap bleeding
to occur.

This also improves the documentation for the `uv2_padding` property
in the class reference.
2023-02-02 14:55:51 +01:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Rémi Verschelde
d9ade633b3
Merge pull request #71936 from akien-mga/remove-some-unused-signals
Remove some unused signals
2023-02-01 07:53:52 +01:00
Rémi Verschelde
e8240031e7
Merge pull request #71479 from raulsntos/virtual-return-type
Use enum instead of int in virtual methods return type
2023-02-01 07:45:28 +01:00
Rémi Verschelde
64f0dad2dc
Merge pull request #70446 from akien-mga/meshoptimizer-4a287848f
meshoptimizer: Sync with upstream commit 4a287848f
2023-02-01 07:40:23 +01:00
Rémi Verschelde
ab4d8df163
Merge pull request #72485 from BastiaanOlij/add_eye_matrix_access
Expose EYE_OFFSET to gdshader code
2023-02-01 07:33:18 +01:00
Rémi Verschelde
df68909da4
Merge pull request #72459 from KoBeWi/debinds
Add unbinds to `scn`
2023-02-01 07:31:17 +01:00
Rémi Verschelde
3eb1ac9fd2
Merge pull request #72075 from Maran23/extents-to-size
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal  and GPUParticles*3D
2023-02-01 07:30:09 +01:00
Rémi Verschelde
cf9df3b5d4 meshoptimizer: Sync with upstream commit 4a287848f
4a287848fd
2023-01-31 22:27:49 -08:00
kobewi
7780b40a3a Add unbinds to scn 2023-02-01 03:03:55 +01:00
Bastiaan Olij
8c77aea9ab Expose EYE_OFFSET to gdshader code 2023-02-01 12:39:13 +11:00
Yuri Rubinsky
0810ecaafd
Merge pull request #72436 from Chaosus/vs_switch_improvement 2023-01-31 22:55:42 +03:00
Marius Hanl
a59819630d Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
Raul Santos
9e9eac4676
Use enum instead of int in virtual methods return type 2023-01-31 19:06:49 +01:00
Rémi Verschelde
b342dcdf04
Remove some unused signals
Part of #37604.
2023-01-31 18:54:04 +01:00
smix8
026549db2e Create default World physics spaces on demand only
Changes that the default physics spaces of World resources are only created on first use.
2023-01-31 18:26:52 +01:00
Rémi Verschelde
5bcf016f11
Merge pull request #62737 from kidrigger/gdext_videodecoder
Updates VideoDecoder plugin API to GDExt.
2023-01-31 11:04:56 +01:00
Rémi Verschelde
99a44f8469
Merge pull request #69248 from vonagam/fixing-typed-arrays
GDScript: Fix typed arrays
2023-01-31 11:04:21 +01:00
Dmitrii Maganov
5909f9f075 GDScript: Fix issues with typed arrays 2023-01-31 11:54:41 +02:00
Rémi Verschelde
d14d6033a5
Merge pull request #72441 from bruvzg/lbl3d_aaa
[Sprite3D/Label3D] Expose alpha antialiasing properties.
2023-01-31 10:54:13 +01:00
bruvzg
b4fe514aa3
[Sprite3D/Label3D] Expose alpha antialiasing properties. 2023-01-31 10:46:38 +02:00
Yuri Rubinsky
bcecb4fe37 Use mix for vector types in switch node in the visual shader 2023-01-31 09:45:27 +03:00
Lyuma
03692c715e Implement custom uvs for Static Lightmap imported gltf 2023-01-30 22:37:38 -08:00
anish bhobe
42a9c33fad Updates VideoDecoder plugin API to GDExtension.
Adds VideoStream and relevant resource loaders to migrate
external GDNative plugins to GDExtension.

Adds a VideoStreamLoader as a specialization of ResourceFormatLoader
as ClassDB::is_parent_class is inaccessible from GDExtension currently.

Using Object* instead of Ref<T> in order to avoid the refcount bug
(godotengine/godot-cpp#652)
Also another bug is in ResourceLoader in use on the extension side that
requires fixing.
2023-01-30 18:39:29 -08:00
Rémi Verschelde
6bdc4ea88c
Merge pull request #72344 from smix8/default_navmap_on_demand_only_4.x
Create default World navigation maps on demand only
2023-01-30 13:35:48 +01:00
Rémi Verschelde
38f8411ed8
Merge pull request #71964 from bruvzg/mat_key
Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D.
2023-01-30 10:03:49 +01:00
Rémi Verschelde
62b0bfd343
Merge pull request #71657 from m4gr3d/increase_scroll_bar_size_for_touchscreen_main
Update the size of the scrollbar for the editor on touchscreen devices
2023-01-30 10:03:40 +01:00
smix8
1bc2c7cb12 Create default World navigation maps on demand only
Changes that the default navigation maps of World resources are only created on first use.
2023-01-30 02:51:14 +01:00
Danil Alexeev
5195f723b9
Improve stroke drawing on 2D collision shapes 2023-01-29 19:07:09 +03:00
Rémi Verschelde
e5752fdfd3
Merge pull request #72233 from TokageItLab/audio-blending
Implement blending audio feature to AnimationTree
2023-01-28 15:58:24 +01:00
Silc Renew
75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Fredia Huya-Kouadio
63c88df3f7 Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices 2023-01-28 00:21:05 -08:00
Yuri Rubinsky
2afa175195
Merge pull request #72174 from bitsawer/shader_include_fixes
Close undefined
Fix undefined
2023-01-28 09:54:41 +03:00
MinusKube
ba472bd29c Use correct prefix for TextMesh width property 2023-01-28 04:09:10 +01:00
MinusKube
d59c221404 Mark dirty flags when shaped texts are invalidated 2023-01-28 03:31:55 +01:00
Rémi Verschelde
a43db5afa4
Merge pull request #72186 from groud/improve_tileset_3to4_conversion
Improve TileSet 3to4 conversion, avoiding some data loss
2023-01-27 19:26:46 +01:00
Gilles Roudière
9a593fa1aa Improve TileSet 3to4 conversion, avoiding some data loss 2023-01-27 18:44:45 +01:00
Rémi Verschelde
1bf7b84fbf
Merge pull request #62123 from holgac/bugfix-62097
Fix infinite loop in animation compress
2023-01-27 15:42:05 +01:00
Rémi Verschelde
8a1369192e
Merge pull request #72173 from groud/warn_autotile_conversion
Warn that autotiles from 3.x cannot be converted automatically to 4.x
2023-01-27 15:41:52 +01:00
Rémi Verschelde
f43fbb593e
Merge pull request #72148 from smix8/tileset_navigationlayers_bitmask_helpers_4.x
Add TileSet helper functions to set/get navigation layer bitmask values
2023-01-27 15:40:59 +01:00
Rémi Verschelde
525db733c8
Merge pull request #72129 from groud/unclamp_texture_origin
Rename texture_offset and unclamp it
2023-01-27 15:40:52 +01:00
bitsawer
0acaccebaf Fix several shader preprocessor include issues 2023-01-27 14:37:55 +02:00
Gilles Roudière
0d06ebff2f Warn that autotiles from 3.x cannot be converted automatically to 4.x 2023-01-27 13:34:57 +01:00
Rémi Verschelde
9d555f5c68
Merge pull request #62499 from fire/gltf-binary-img-compression
Handle gltf binary images
2023-01-27 11:35:55 +01:00
smix8
1809915bce Add TileSet helper functions to set/get navigation layer values
Adds helper functions to TileSet to set / get navigation layers bitmask values.
2023-01-27 11:23:34 +01:00
Gilles Roudière
d7f3bd50bd Rename texture_offset and unclamp it 2023-01-27 11:04:45 +01:00
K. S. Ernest (iFire) Lee
39922d7167 Handle gltf binary
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ]

Enable compressed mip maps from Basis Universal for faster compressions.

Increase the quality of Basis to avoid corruption.

To keep compatibility use the first mip of the previous internal Godot format.

Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-27 02:02:02 -08:00
Rémi Verschelde
91c0ed5e33
Merge pull request #71907 from TokageItLab/change-animated-sprite-api
Make `AnimatedSprite`'s playback API consistent with `AnimationPlayer`
2023-01-27 10:32:23 +01:00
kobewi
b5fda06f20 Don't change region_rect when setting texture 2023-01-26 23:02:26 +01:00
Rémi Verschelde
5d18a0e829
Merge pull request #72124 from YuriSizov/gui-stylebox-texture-is-just-stylebox
Remove size restrictions from `StyleBoxTexture`
2023-01-26 22:59:41 +01:00
Rémi Verschelde
7cf21f296b
Merge pull request #68034 from Klowner/surfacetool-generate-normals
Make SurfaceTool.generate_normals() behave consistently with smoothing groups
2023-01-26 22:52:19 +01:00
Mark Riedesel
da893c14cf Make SurfaceTool.generate_normals() behave in a consistent manner in regard to smoothing groups, imply group 0 is flat 2023-01-26 12:32:31 -06:00
Yuri Rubinsky
8c8c333bf2 Add derivative functions with precision to shaders 2023-01-26 20:53:46 +03:00
Yuri Sizov
9b7124b49c Remove size restrictions from StyleBoxTexture 2023-01-26 17:11:37 +01:00
bruvzg
2442f6c937
[SystemFont] Add missing MSDF properties. 2023-01-26 09:47:42 +02:00
Silc Renew
17bf6238fc Make AnimatedSprite's playback API consistent with AnimationPlayer 2023-01-26 12:40:19 +09:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE" 2023-01-24 16:05:07 -06:00
bruvzg
1c774a6083
Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D. 2023-01-24 12:24:53 +02:00
Rémi Verschelde
06c930caf1
Merge pull request #71878 from bitsawer/fix_shader_dependencies
Fix shader include dependency handling
2023-01-24 09:47:28 +01:00
Rémi Verschelde
1dfd236f15
Merge pull request #70377 from dsnopek/server-export-mk2
Add "dedicated server" export mode which can strip unneeded visual resources
2023-01-23 22:13:28 +01:00
David Snopek
74458b6e9b Add "dedicated server" export mode which can strip unneeded visual resources 2023-01-23 13:24:54 -06:00
Rémi Verschelde
11e2278844
Merge pull request #57606 from SaracenOne/update_on_reimport
Update instances of scenes which have been reimported.
2023-01-23 15:35:44 +01:00
Rémi Verschelde
1891d9fdf1
Merge pull request #71801 from akien-mga/codespell-en-GB-to-en-US
Convert en_GB spelling to en_US with codespell
2023-01-23 11:08:55 +01:00
Rémi Verschelde
809bd94394
Merge pull request #71906 from reduz/simplify-polyphonic-stream-player
Simplify AudioStreamPolyphonic
2023-01-23 11:07:32 +01:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Juan Linietsky
4383b5ab1e Simplify AudioStreamPolyphonic
* Make AudioStreamPolyphonic not requre a polling thread (simpler, faster)
* Improve error reporting in AudioStreamPlayer*::get_stream_playback() error reporting to improve usability.
2023-01-23 10:47:01 +01:00
Rémi Verschelde
19b030263d
Merge pull request #71778 from vortexofdoom/fix-dof-blur-transition
allowed negative DoF blur transition in the editor
2023-01-23 10:24:24 +01:00
Rémi Verschelde
69a981fc62
Merge pull request #71214 from SekoiaTree/remove_mesh_surface_compat
Remove compatibility code for Mesh surfaces
2023-01-23 10:24:19 +01:00
bitsawer
81f9529a7e Fix shader include dependency handling 2023-01-22 22:19:52 +02:00
Rémi Verschelde
5068d82374
Merge pull request #71686 from YuriSizov/stylebox-min-size-but-better
Clean-up, harmonize, and improve StyleBox API
2023-01-22 17:53:04 +01:00
Rémi Verschelde
5432bad36f
Merge pull request #69619 from m4gr3d/address_android_editor_crashes_main
Address Android editor crashes
2023-01-22 17:52:31 +01:00
Juan Linietsky
f18d408c08 Add AudioStreamPolyphonic to make it easier to play polyphonic sound from code
* This new audio stream allows to play multiple sounds and control them over time from code.
* It greatly simplifies tasks such as generative music (music generated from code) or audio.

This new type of stream was added with the goal of fixing audio blending in AnimationPlayer and AnimationTree, but can be used by others for their regular audio needs.

Does not fix anything currently, but should help implement #69758 properly.

Some demo code of how to use this:

```GDScript

var player = $SomeNode as AudioStreamPlayer
player.stream = AudioStreamPolyphonic.new()
var playback = player.get_stream_playback() as AudioStreamPlaybackPolyphonic
var id = playback.play_stream(preload("res://Clip1.ogg"))
await get_tree().create_timer(1).timeout
playback.set_stream_volume(id,-12) # Set volume to half after one second
await get_tree().create_timer(2).timeout
var id2 = playback.play_stream(preload("res://Clip2.ogg")) # 2 seconds later, start another clip
await get_tree().create_timer(1).timeout
playback.stop_stream(id) # 1 second later, kill the first clip
playback.set_stream_pitch_scale(id2,1.5) # Make the second clip go 50% faster

```
2023-01-22 16:22:45 +01:00
Rindbee
64edc7a5c2 Fix internal editor not updating when using external editor via LSP 2023-01-22 18:27:22 +08:00
Rindbee
41ac40c44c Fix the uid field of the tscn/res file is lost when the external dependency is updated 2023-01-22 09:53:46 +08:00
kobewi
615c517034 Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
Rémi Verschelde
ebd0b40f6e
Merge pull request #71687 from reduz/support-script-class-name-in-efs
Support script global resource name in EditorFileSystem
2023-01-21 16:54:23 +01:00
Rémi Verschelde
145ab2e1fd
Merge pull request #71797 from reduz/cleanup-shader-parameter-remap
Clean up shader parameter remap
2023-01-21 16:53:29 +01:00
Juan Linietsky
dddd8d43f6 Support script global resource name in EditorFileSystem
* Works for binary and text files.
* Makes EditorQuickOpen work with custom resources again.
* Information is cached and easily accessible.

Properly fixes #66179. Supersedes #66215 and supersedes #62417

**WARNING**: This required breaking backwards binary compatibility (.res and .scn files). Files saved after this PR is merged will no longer open in any earlier versions of Godot.
2023-01-21 14:19:27 +01:00
Juan Linietsky
7dbc458bb4 Clean up shader parameter remap
This PR is a follow up to #64092, which fixed important issues but it was implemented in an overly complex and inefficient way (because it forced the default code path to always go through string operations).
This cleans up all the shader parameter code.

This fixes #54336. Also fixes #56219 because, as the new code never queries the RenderingServer on load, potential deadlocks are avoided.

**NOTE**: materials saved between #62972 and #64092 will no longer work and will need to be resaved in an earlier version.
2023-01-21 12:56:28 +01:00
Rémi Verschelde
2ec0da1a75
Merge pull request #63667 from AntonioDell/bugfix/63549
fix(editor): Remove some MeshLibrary editor updates
2023-01-21 11:32:28 +01:00
Daniel Larson
d7b61158fa allowed negative DoF blur transition in the editor 2023-01-20 20:39:49 -06:00
Yuri Rubinsky
f9b5e9da37 Fix code generation for ProximityRange node in visual shader 2023-01-20 22:31:37 +03:00
Yuri Rubinsky
7cbe2b939e Some refactoring for visual shader texture functions 2023-01-20 12:54:20 +03:00
Rémi Verschelde
fc5fafbb32
Merge pull request #70602 from Calinou/environment-no-sky-hide-ambient-light-properties
Hide Ambient Light properties in Environment inspector depending on mode
2023-01-19 21:53:02 +01:00
Rémi Verschelde
65883cc73b
Merge pull request #71598 from bruvzg/gdscript_bidi_override
Implement BiDi override mode for GDScript source.
2023-01-19 19:33:18 +01:00
Rémi Verschelde
4ca6a9809d
Merge pull request #44596 from KoBeWi/🧹🧹🧹
Cleanup unused engine code v2
2023-01-19 19:32:51 +01:00
Rémi Verschelde
8b92316368
Merge pull request #71565 from RedworkDE/doc-arraymesh-add-surface
Fix LOD sort order; checks in add_surface; and document all parameters of `ArrayMesh::add_surface_from_arrays`
2023-01-19 19:32:37 +01:00
Yuri Sizov
752402cf35 Clean-up, harmonize, and improve StyleBox API
- Make all margin properties follow the same naming convention (their getter and setter too).
- Remove a virtual counterpart of `get_style_margin` from API.
- Allow to override `get_minimum_size` from scripting and remove `get_center_size`.
2023-01-19 20:02:21 +03:00
kobewi
c0083e431b Cleanup unused engine code v2 2023-01-19 13:02:18 +01:00
Life4gal
d3612e039a
Fix using Resource objects as keys in the tres format
Fixes #57506.
2023-01-19 12:19:06 +01:00
RedworkDE
be4eb3bbdd Fix LOD sort order; checks in add_surface; and document all parameters of ArrayMesh::add_surface_from_arrays
Also clarify some related documentation and expose the misssing `ArrayFormat::ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY`
2023-01-19 10:30:25 +01:00
clayjohn
faea9f5c10 Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
in favour of texture hints
2023-01-18 19:52:47 -08:00
bruvzg
5361ec9f43
Implement BiDi override mode for GDScript source. 2023-01-18 19:22:20 +02:00
Rémi Verschelde
63dfdf4f89
Merge pull request #71529 from clayjohn/IM-oct
Update ImmediateMesh to use octohedral encoded normals
2023-01-17 10:56:07 +01: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
SaracenOne
4628736894 Update instances of scenes which have been reimported. 2023-01-16 13:46:33 -08: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
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
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
Yuri Rubinsky
5b627dec72
Merge pull request #71123 from Chaosus/vs_particle_randomness 2023-01-12 16:29:27 +03:00
SekoiaTree
05aaae747b Remove compatibility code for Mesh surfaces 2023-01-11 13:02:08 +01: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
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
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
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
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
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
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
Yuri Rubinsky
f101add78b Add uint type support to visual shaders 2023-01-06 10:35:25 +03: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
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
60b028971d
Merge pull request #70824 from smix8/fix_navpoly_errormsg_4.x
Fix NavigationPolygon error msg
2023-01-05 12:55:02 +01:00
Danil Alexeev
0d25d8e7fc
AnimatedSprite{2D,3D} improvements
* Add support for individual frame duration to `SpriteFrames`.
* Various minor improvements.
2023-01-05 13:13:25 +03:00
Rémi Verschelde
5e78f0f782
Merge pull request #70840 from MewPurPur/get-point-count-instead-of-points
Rename `get_points_count()` to `get_point_count()` in Gradient
2023-01-03 15:46:18 +01:00
Rémi Verschelde
1d92b44f47
Merge pull request #70864 from timothyqiu/scroll-margin
Fix scroll grabber can't reach ends in default theme
2023-01-03 12:41:56 +01:00
Rémi Verschelde
1b634c06d0
Merge pull request #69972 from adamscott/add-server-checks-before-free
Add safety-checks before some servers `free()`
2023-01-03 12:22:24 +01:00
Rémi Verschelde
7758151b6a
Merge pull request #70519 from bruvzg/font_hash
[Font] Use key structure instead of raw hash for LRU cache to avoid collisions.
2023-01-03 12:19:43 +01:00
Haoyu Qiu
e57cdab568 Fix scroll grabber can't reach ends in default theme 2023-01-03 15:44:24 +08:00
Yuri Rubinsky
c5bfe1303a
Merge pull request #70585 from Chaosus/vs_custom 2023-01-03 09:46:11 +03:00
Clay John
61c7b7fb13
Merge pull request #67853 from Zylann/fix_lods_with_doubles
Fix usages of mesh simplification functions in float=64 builds
2023-01-02 12:33:44 -07:00
VolTer
1af833be95 Rename get_points_count() to get_point_count() internally 2023-01-02 16:52:05 +02:00
smix8
3e0e315e74 Fix NavigationPolygon error msg
Outlines need the same winding order which got confused with the internal conversion.
2023-01-02 01:54:57 +01:00
James Mintram
af845799da Change binding type of PlaceholderTexture2D.set/get_size to Vector2 2023-01-01 16:12:10 +00:00
Adam Scott
ea33001b95 Add safety-checks before some servers free() 2022-12-29 16:23:38 -05:00
Hugo Locurcio
8df24835e0
Tweak particles animation offset property hint to allow more precise values
Values above 1.0 (or below 0.0) are no longer allowed, as these make
no visual difference whatsoever (and may cause particles not to appear
at all if looping is disabled).
2022-12-29 22:15:17 +01:00
Hugo Locurcio
58fcf5ed70
Hide Ambient Light properties in Environment inspector depending on mode 2022-12-26 21:59:51 +01:00
Yuri Rubinsky
952015df13 Add missing CUSTOM inputs for the spatial/vertex mode of visual shader 2022-12-26 14:09:07 +03:00
Silc Renew
8745c206c4 Fix pingpong with loop wrap is not working 2022-12-25 18:16:38 +09:00
bruvzg
9b53bd90bb
[Font] Use key structure instead of raw hash for LRU cache to avoid collisions. 2022-12-24 11:46:40 +02:00
Rémi Verschelde
8eec9f7d3c
Merge pull request #69797 from TokageItLab/time-edit-inspector-plugin
Animation: Add inspector plugin for key time edit & Change `track_find_key()` argument to find key with approximate
2022-12-23 09:07:15 +01:00
smix8
e96aabfedd Remove deprecated NavigationMesh compatibility parts
Removes _set / _get compatibility function parts for deprecated NavigationMesh slash delimiter properties.
2022-12-22 11:06:48 +01:00
Silc Renew
060fb2d093 Add inspector plugin for key time edit & Change find key argument 2022-12-22 10:03:06 +09:00
Yuri Sizov
b67a938caa Add fallback values for font and scale to the default theme 2022-12-21 19:29:12 +03:00
smix8
61f33e205c Change GridMap navigation_layers to be per mesh_library item
Changes GridMap navigation_layers from a single bitmask for the entire GridMap to a bitmask for each item used in the mesh_library with a baked navmesh.
2022-12-20 20:51:32 +01:00
Rémi Verschelde
5d97889d1a
Merge pull request #61239 from Calinou/tubetrailmesh-add-cap-properties
Add properties to disable top/bottom cap generation in TubeTrailMesh
2022-12-20 10:32:47 +01:00