Commit Graph

3807 Commits

Author SHA1 Message Date
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
Rémi Verschelde f1f6b35b8c
Merge pull request #70244 from DarkKilauea/nav-fix-abbrev-compat
[4.x] Fix typo and ensure backwards compatibility for changed property names
2022-12-20 10:32:26 +01:00
Josh Jones 0572346985
Fix typo and ensure backwards compatibility for changed property names
Changes to the name of the `navmesh` and `navpoly` properties on
`NavigationRegion` caused navigation data to be lost on load.
This PR creates uses `_set`/`_get` to handle compatibility with the
older names on load, preserving the data.

Also fixes a typo on `get_vertices_per_polygon` in `NavigationMesh`,
and renames the property to remove the `polygon_` prefix which doesn't
match the setter/getter.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-20 09:57:54 +01:00
Hugo Locurcio 6e330e8a75
Add properties to disable top/bottom cap generation in TubeTrailMesh
This can be used to improve generation and rendering performance,
or for certain special effects such as particle trails.
2022-12-19 17:29:32 +01:00
kleonc 3a34acdf55 TileSet Simplify tile shape polygons 2022-12-19 11:42:40 +01:00
Rémi Verschelde 7bf656148f
Merge pull request #70227 from kleonc/atlas-texture-flipping-fix
`AtlasTexture` Fix calculating rects when flipping
2022-12-18 00:11:51 +01:00
kleonc c3851b91db AtlasTexture Fix calculating rects when flipping 2022-12-17 22:59:31 +01:00
smix8 34e7628f5f Fix Navigation API abbreviations inconsistency
Schema for navigation to name user facing API with  "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-17 22:06:22 +01:00
smix8 4d68e2b18a Move NavigationPolygon to dedicated resource file
Moves NavigationPolygon resource class from NavigationRegion2D file to a dedicated file in resource folder.
2022-12-17 19:52:40 +01:00
clayjohn 1a890b1641 Switch surface indexing to start at 0 so string name matches integer index 2022-12-16 16:26:46 -08:00
bmolyneaux 1e3a861e1a Queue redraw when MultiMesh instance transform changes
Fixes: #66849

This is a 4.0 version of #54899.
2022-12-15 17:01:17 -08:00
bruvzg 53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables. 2022-12-15 23:16:02 +02:00
Rémi Verschelde 346efd29e0
Fix typos with codespell 2022-12-15 12:24:08 +01:00
Rémi Verschelde 45edf35f83
Merge pull request #69726 from xiongyaohua/tweak_curve
Handle corner cases for curve baking
2022-12-14 11:25:55 +01:00
Yaohua Xiong f806c679de Fix Curve2D::get_closest_offset 2022-12-14 09:46:07 +08:00
Yaohua Xiong adeef12b12 Handle corner cases for curve baking
When control point and point have equal position,
the derivative is 0 vector, which cause error message in Basis::look_at().
This commit handles this case.
2022-12-14 08:52:14 +08:00
Rindbee bc4b5abea8 Use buffer to speed up copying/transcribing when renaming dependencies
If the scene is more complex, you may need to copy/transcribe a
large amount of data, so use buffer to speed up this process.
2022-12-13 17:19:48 +08:00
lawnjelly 491594ef0f VariantParser make readahead optional
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.

This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-12 15:14:39 +00:00
kobewi 7c6b659bd7 Add PropertyInfo overload for GLOBAL_DEF 2022-12-11 21:36:48 +01:00
Yuri Rubinsky bd08f89fd2 Optimize a code generation of visual shader particles 2022-12-11 12:35:48 +03:00
Rémi Verschelde 2d02cb67ee
Merge pull request #69661 from Mickeon/fix-editor-cannot-disconnect-signal
Fix unable to disconnect signal in Editor once created
2022-12-09 07:34:29 +01:00
Micky 885f2a4eca Fix unable to disconnect signal in Editor once created
Adds a CONNECT_INHERITED flag to connections, only available in editor builds. This flag denotes that the signal has been inherited from a previous Scene in the instancing hierarchy.
2022-12-08 13:36:48 +01:00
Rémi Verschelde 9bd7ad53f7
Merge pull request #69506 from adamscott/move-gdscript-uninit-to-finalize
Move GDScript uninitialization to `GDScriptLanguage::finish()`
2022-12-06 16:11:21 +01:00
Adam Scott 88f3045301 Move GDScript uninitialization to `GDScriptLanguage::finalize()`
Co-authored-by: Ricardo Buring <ricardo.buring@gmail.com>
Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2022-12-06 09:35:39 -05:00
Yaohua Xiong 322dbd0955 Fix Path2D fish bone direction 2022-12-06 20:45:17 +08:00
Hugo Locurcio d926be72ed
Use circular fade instead of linear fade for distance fade
This makes distance fade look the same regardless of the camera angle,
for all distance fade modes (Pixel Alpha, Pixel Dither, Object Dither).
Distance fade now behaves like fog in this regard.
2022-12-05 22:35:11 +01:00
Fredia Huya-Kouadio e8d80fc747 Address Android editor crashes
- Add workaround for crash when resuming existing project
2022-12-05 10:07:09 -08:00
Yaohua Xiong 91e9ad92f5 Refactor baking code for Curve2D
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization. A similar refacor
had been applied to Curve3D.

The test cases for Curve2D is updated, comparing floating point with is_equal_approxmiate()
instead of `==`, in order to avoid float precision problem.
2022-12-05 21:22:05 +08:00
Rémi Verschelde a738f50886
Merge pull request #69357 from TokageItLab/byebye-trigger
Remove `UPDATE_TRIGGER` mode from `ValueTrack::UpdateMode` & Match behaviors between `AnimationTree` and `AnimationPlayer`
2022-12-05 00:06:23 +01:00
Rémi Verschelde a0365c140a
Merge pull request #68995 from bruvzg/sys_font_for_text
Use system fonts as fallback.
2022-12-05 00:05:49 +01:00
bruvzg ecec415988
Use system fonts as fallback and improve system font handling.
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
NumbuhFour 1b09fd5410 Implement CAMERA_VISIBLE_LAYERS as built-in shader variable 2022-12-03 22:41:27 -08:00
Yaohua Xiong 69f84563a3 Fix Curve3D::get_closest_point() broken
The problem is caused by calling adaptive tessellation baking function by mistake, which produce too few points for straight lines. Calling the even length tessellation fix the problem.

The code for `get_closest_point()` and `get_closest_offset()` are also updated. They used to assume bake interval to be exact, which is no longer true.

The out dated document for `get_closest_point()` is also updated.
2022-12-03 17:01:03 +08:00
Silc Renew 83135aa122 Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
#69357
2022-12-02 20:28:10 +09:00
Rémi Verschelde 8c094207a0
Merge pull request #61958 from jtnicholl/animation_connections
Add `animation_changed` signal to `AnimationLibrary`, have `AnimationPlayer` connect to it instead of `Animation`'s `changed`
2022-12-02 12:24:32 +01:00
Rémi Verschelde 10e9a85607
Merge pull request #69336 from TokageItLab/get-anim-keys-more-exactly
Refactor process of animation to retrive keys more exactly
2022-12-02 12:24:24 +01:00
Silc Renew 1fc3833617 Refactor process of animation to retrive keys more exactly 2022-12-01 22:07:47 +09:00
kobewi 9a3960daa5 Simplify GDVIRTUAL_REQUIRED_CALL calls 2022-11-30 18:36:57 +01:00
Rémi Verschelde 55dae30177
Merge pull request #69301 from KoBeWi/ERR_WHATEVER
Don't break parsing on missing resources
2022-11-28 16:53:46 +01:00
Rémi Verschelde 4555ccdf98
Merge pull request #69224 from adamscott/fix-PackedScene-reload_from_file
Add `PackedScene::reload_from_file()` override
2022-11-28 16:53:36 +01:00
Adam Scott a34a26eb66 Add PackedScene::reload_from_file() override 2022-11-28 10:23:02 -05:00
kobewi 0765908868 Don't break parsing on missing resources 2022-11-28 16:19:15 +01:00
Rémi Verschelde 12f0660518
Merge pull request #68992 from TokageItLab/animtree-trackend-process
Refactor process of AnimationTree for end of animation
2022-11-28 14:49:19 +01:00
Rémi Verschelde 794adbe996
Merge pull request #69178 from aaronfranke/mesh-shape
Use a more specific type for Mesh create_(convex|trimesh)_shape
2022-11-28 08:05:50 +01:00
Rémi Verschelde ead82feb24
Merge pull request #69008 from akien-mga/property-hint-array-type-resource-simplify
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources
2022-11-25 19:29:05 +01:00
Rémi Verschelde 6e693368e1
Merge pull request #69124 from zaevi/tilemap_fix_alternative_tile
[TileMap] Fix alternative tile issues.
2022-11-25 19:27:37 +01:00
Aaron Franke 93ab82536d
Use a more specific type for Mesh create_(convex|trimesh)_shape 2022-11-25 11:43:11 -06:00
Haoyu Qiu 06a0b26c9e Fix inspector not showing name for LabelSettings.font 2022-11-25 12:48:37 +08:00
Zae f6424e68ea [TileMap] Fix alternative tile issues. 2022-11-25 00:44:02 +08:00
Rémi Verschelde 5d20dccade
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources 2022-11-24 14:06:00 +01:00
Silc Renew b217c41d36 Refactor interpolating functions in some classes to use Math class 2022-11-24 20:31:43 +09:00
Yaohua Xiong f9fa182abc Refactor Curve3D::_bake() method
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization.

Other changes are:
1. Add an bezier_derivative() method for Vector3, Vector2, and Math;
2. Add an tesselate_even_length() method to Curve3D, which tesselate bezier curve to even length segments adaptively;
3. Cache the tangent vectors in baked_tangent_vector_cache;
2022-11-24 10:52:06 +08:00