Commit graph

3729 commits

Author SHA1 Message Date
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
Rémi Verschelde
d3b8faac74
ImageLoaderSVG: Improve error reporting 2022-11-23 13:27:31 +01:00
Silc Renew
c1ec99f0e1 Refactor process of AnimationTree for end of animation 2022-11-22 18:12:45 +09:00
Ninni Pipping
28c5250c2d BitMap polygon code cleanup 2022-11-22 10:00:09 +01:00
Jonathan Nicholl
f8021dae9c Add animation_changed signal to AnimationLibrary
AnimationLibrary now listens for the animation_changed signal on its
animations and emits this new signal, with the animation name added
on. AnimationPlayer now connects to this signal rather than connecting
to each individual animation, which was poor practice due to bypassing
encapsulation.
2022-11-21 15:39:03 -05:00
Markus Sauermann
28af870750 Code simplifications found by cppcheck
They are based on:
- Boolean arithmetic simplifications
- setting variables that are not accessed
- constant variables
2022-11-21 08:43:36 +01:00
Silc Renew
b739bafd51 Fix connection of animation changed signal in AnimationTrackEditor 2022-11-20 06:38:51 +09:00
Rémi Verschelde
80b3813b15
Merge pull request #67714 from adamscott/fix-preload-cyclic-references-part2
Fix cyclic references in GDScript 2.0
2022-11-18 23:08:01 +01:00
Adam Scott
5704055d30 Fix cyclic references in GDScript 2.0 2022-11-18 16:41:31 -05:00
Rémi Verschelde
8ab3e73a79
Merge pull request #64212 from xiongyaohua/curve3d_baking_refactor
Move rotation interpolation to Curve3d and refactor baking
2022-11-18 16:20:14 +01:00
Ninni Pipping
f0099b28b1 Fix polygon generation in BitMap 2022-11-17 10:31:14 +01:00
Rémi Verschelde
6d2a7cb46d
Merge pull request #68709 from MewPurPur/instance-begone-part3
Remove more instances of 'instance' being used as a verb
2022-11-16 14:41:42 +01:00
VolTer
3b4f5f8a04 Remove more instances of 'instance' being used as a verb 2022-11-16 14:01:53 +01:00
Rémi Verschelde
4935493f72
Merge pull request #67948 from DeeJayLSP/split_webp
Overhaul WebP packer and split compression options
2022-11-15 16:25:40 +01:00
DeeJayLSP
da132f3266 Overhaul WebP packer and split compression options 2022-11-15 11:52:22 -03:00
Gilles Roudière
83617790a1 Fixes infinite loop in ResourceFormatText when having unexpected end of file 2022-11-15 11:20:05 +01:00
Rémi Verschelde
f7c487f676
Merge pull request #68664 from bruvzg/bmp_base_size
[Bitmap font] Always set valid fixed size, even if it's not set in the `fnt` file.
2022-11-14 23:25:28 +01:00
Rémi Verschelde
80dbcfd995
Merge pull request #68657 from Sauermann/fix-redundant-initialization
Remove redundant non-trivial Variant types initializations
2022-11-14 23:23:54 +01:00
bruvzg
e77b6427cb
[Bitmap font] Always set valid fixed size, even if it's not set in the fnt file. 2022-11-14 22:33:59 +02:00
Hugo Locurcio
efe3220b2e
Fix periods in editor strings and messages
- Ensure all strings with ellipsis end with 3 periods instead of 2.
- Fix extraneous period in "Error calling from signal '...' to callable"
  messages.
2022-11-14 19:36:36 +01:00
Markus Sauermann
3b14f0334c Remove redundant Variant-types initializations 2022-11-14 19:35:19 +01:00
Rémi Verschelde
315c64282b
Fix misc formatting issues
Somehow I missed the failing CI report from trailing whitespace.

Fixed a couple typos found by codespell while at it, and misc
trailing semicolons in one of the files.
2022-11-14 19:00:48 +01:00
Rémi Verschelde
33e65f2754
Merge pull request #68582 from bruvzg/inv_gd3_bmp_font
Add a special case for importing bitmap fonts designed for Godot 3.
2022-11-14 11:12:17 +01:00
Bastiaan Olij
7658dc6e7e Add optional UV2 logic for lightmapping to primitive shapes 2022-11-13 19:28:10 +11:00
bruvzg
01b4e53e80
Add a special case for importing bitmap fonts designed for Godot 3. 2022-11-13 00:32:30 +02:00
Yaohua Xiong
5241464a46 Refactor Curv3D and PathFollow3D
This commit makes the following major changes

1. Add "sample_baked_with_rotation()" to Curve3D, making it usable independently. A similar change was made to Curve2D previously.
2. Refactor the _bake() method on Curve3D, using Parallel Transport Frame instead of Frenet Frame.
3. Refactor the sample_* methods, including:
  i. Factor out common binary search code, following the DRY principe
  ii. sample_up_vector() interpolated up vector as part of rotation frame(posture) for consistancy and accuracy.
2022-11-12 12:03:54 +08:00
Yuri Rubinsky
6521eccaae
Merge pull request #68477 from dzil123/visual_shader_ufunc_input_fix
Fixes https://github.com/godotengine/godot/issues/68463
2022-11-12 06:50:35 +03:00
Marc Gilleron
2aefdcc26e Fix usages of mesh simplification functions in float=64 builds 2022-11-12 00:38:00 +00:00
Rémi Verschelde
a2ad59fb8e
Merge pull request #68513 from Chaosus/fix_shader_param
Fix `Shader::has_parameter` to return a correct value
2022-11-11 10:54:50 +01:00
Rémi Verschelde
3263970cf6
Merge pull request #68428 from nikitalita/fix-mesh-convert
Fix deprecated mesh conversion
2022-11-11 10:44:10 +01:00
Yuri Rubinsky
9d4816fd4a Fix Shader::has_parameter to return a correct value 2022-11-11 11:30:34 +03:00
nikitalita
5683aa2498 fix old mesh conversion offsets 2022-11-10 22:55:01 +00:00
dzil123
445062e43b Visual Shader UVFunc keep existing input value on function change 2022-11-10 04:31:05 -08:00
Markus Sauermann
e8af3e7e8d Fix crash from impossible Object::cast_to
A Vector<>-variant can't be used in an Object::cast_to, because
Vector doesn't inherit from Object and this cast always returns a nullptr.

This patch replaces the Object::cast_to and accesses the contained
Vector directly.
2022-11-08 22:34:01 +01:00
kobewi
d9f066d5fa Remove duplicate project settings definitions 2022-11-08 01:29:39 +01:00
Markus Sauermann
18978881fe Code simplifications
CanvasItemEditor:
- p_result == ADD_MOVE is always true in this switch-clause

- both parts of the if-else-clause do the same thing and simplified an affine_inverse call

ControlEditorToolbar:
- private function ControlEditorToolbar::_anchor_to_position is used nowhere. Looks like
copy and paste from CanvasItemEditor::_anchor_to_position

ScrollContainer:
- screen_is_touchscreen is always true, because otherwise the function already returned

TextLine:
- both parts of the if-else-clause do the same thing and simplified return statement
2022-11-07 01:21:25 +01:00
Hugo Locurcio
a19e389f4f
Hide Antialiasing import option on DynamicFonts with MSDF enabled
Antialiasing cannot be adjusted on fonts rendered with MSDF.
Internally, Godot always uses grayscale antialiasing for those fonts.

This also tweaks property hints for consistency, and renames
uses of "sub-pixel" to the more commonly used "subpixel".
2022-11-03 18:40:44 +01:00
Rémi Verschelde
3cde6c0432
Merge pull request #67540 from KoBeWi/hue_hue_hue
Add a separate hue gradient for OKHSL mode
2022-11-03 11:51:45 +01:00
Rémi Verschelde
9ec7aadc06
Merge pull request #66017 from Mickeon/rename-image-copy-rect
Rename Image's `get_rect` to `get_region`
2022-11-02 22:36:57 +01:00
kobewi
84d6549c75 Change hue icons to horizontal GradientTexture2D 2022-11-02 15:34:15 +01:00
kobewi
f5981ff19d Add a separate hue gradient for OKHSL mode 2022-11-02 14:44:41 +01:00
Micky
ebf86c96e9 Rename Image's get_rect to get_region
Also renames its parameter to from "rect" to "region".
2022-11-01 23:35:48 +01:00
Yaohua Xiong
399c2a8dea Move rotation sampling from Path2D to Curve2D
The rotation sampling code is moved from Path2D to a new method
`sample_baked_with_rotation` on Curve2D.
2022-11-01 13:18:52 +08:00
Rémi Verschelde
c866f349ce
Merge pull request #67895 from bruvzg/ts_fix_obj_rects
Fix `TextLine` and `TextParagraph` `get_*_object_rect` methods not accounting for alignment and drop cap.
2022-10-31 14:29:34 +01:00
Rémi Verschelde
2529006134
Merge pull request #67486 from bruvzg/bmp_oem
[Font] Add support for OEM encoded bitmap fonts.
2022-10-31 14:20:53 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
be126d42d4
Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
Rémi Verschelde
b6cbea5e58
Merge pull request #63590 from golfinq/fbg-padding
Add padding options in theme for fg/bgcolor tags in RichTextLabel
2022-10-31 11:14:55 +01:00
Rémi Verschelde
8b1a42cd47
Merge pull request #67888 from KoBeWi/overridead
Remove `override_selected_font_color` property
2022-10-31 10:59:07 +01:00
DeeJayLSP
dd64ceab47 Change all WEBP strings and comments to WebP 2022-10-28 15:17:49 -03:00
Clay John
682156e1f0
Merge pull request #66383 from aaronfranke/basis-from-euler
Clean up Basis from Euler code
2022-10-27 09:44:21 -07:00
kobewi
c7eb814ede Remove override_selected_font_color property 2022-10-26 12:59:18 +02:00
bruvzg
4a6d39c6b9
Fix TextLine and TextParagraph get_*_object_rect methods not accounting for alignment and drop cap. 2022-10-26 10:46:08 +03:00
Yuri Rubinsky
2b505b74b9
Merge pull request #67431 from Chaosus/vs_fix_nodes_code 2022-10-25 20:38:24 +03:00
Clay John
040f49ed6e
Merge pull request #67390 from groud/more_conservative_terrain_painting
Make terrain painting not change neighbors centers bits
2022-10-23 17:11:06 -07:00
Aaron Franke
7f9a8c99c9
Clean up Basis from Euler code 2022-10-21 17:54:49 -05:00
Max Hilbrunner
d145c9b1a7
Merge pull request #67684 from patchfx/fix-typo-in-draw-rect-region
Fix tp_canvas_item typo in _draw_rect_region
2022-10-21 18:13:45 +02:00
Clay John
72b845b287
Merge pull request #67506 from squashiv/master
Expose Shape2D::get_rect to scripting
2022-10-20 13:26:40 -07:00
Richard Patching
5de65bb2d7 Fix tp_canvas_item typo in _draw_rect_region 2022-10-20 20:04:45 +01:00
Gilles Roudière
fe65d7aa7b Make terrain painting not change neighbors centers bits 2022-10-20 14:47:45 +02:00
squash
247a93845d Expose Shape2D::get_rect to scripting 2022-10-20 11:26:49 +03:00
Yuri Rubinsky
19126d22a4 Fix code generation for some visual shader nodes 2022-10-19 09:09:56 +03:00
kobewi
d06a8320e5 Simplify GDVIRTUAL_CALL calls 2022-10-19 00:05:48 +02:00
kobewi
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Patrick
91a9e7af3f Fix typo in VisualShader DistanceFade node 2022-10-18 18:20:31 +02:00
bruvzg
2aa350f701
[Font] Add support for OEM encoded bitmap fonts. 2022-10-16 18:22:21 +03:00
kobewi
072f6feaba Make some Image methods static 2022-10-14 14:34:15 +02:00
Rémi Verschelde
7502c808fa Merge pull request #66665 from Mickeon/editor-do-not-edit-inherited-signals
Do not allow editing Scene-inherited signal connections
2022-10-14 10:19:47 +02:00
Micky
6a77563b25 Do not allow editing Scene-inherited signal connections
Inherited connections are also highlighted with the warning color in the Node dock.
2022-10-13 20:13:05 +02:00
Juan Linietsky
71d2e38cb5 Optimize Convex Collision
Implements the Gauss Mapping optimization to SAT convex collision test.

* Described [here](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822403Gregorius_Dirk_TheSeparatingAxisTest.pdf) by Dirk Gregorius.
* Requires adding of face information to edges in MeshData
* Took the chance to convert MeshData to LocalVector for performance.
2022-10-13 19:07:53 +02:00
Rémi Verschelde
9eb8eb5f7d Merge pull request #67336 from jbcolli2/Normal-of-CylinderMesh
Fix bug in CylinderMesh when computing normals
2022-10-13 15:24:55 +02:00
jbcolli2
491ec622f6 Changed normal of CylinderMesh to account for slanted side. 2022-10-13 08:24:31 -04:00
Rémi Verschelde
c55c0a2028 Merge pull request #66349 from A-Lamia/Amount_At_Collision
PARTICLES: adds amount property to collision sub particles.
2022-10-13 09:03:43 +02:00
Lamia
5af6f4a04b particles: add amount property to sub property collision. 2022-10-13 04:25:18 +11:00
Rémi Verschelde
ea47e03b36
Merge pull request #65714 from benbot/fix-double-particle-collision-calculation 2022-10-12 17:46:17 +02:00
Rémi Verschelde
646d59e713 Merge pull request #63271 from Chaosus/fix_texture_error
Fix error emitting when opening some textures in the inspector
2022-10-11 16:17:15 +02:00
Rémi Verschelde
6d534f6e89 Merge pull request #66221 from Mickeon/painstakingly-appending-ds-en-you-tea-es
Rename remaining "*_enable" to "*_enabled"
2022-10-11 16:17:02 +02:00
Rémi Verschelde
8017827144 SCons: Re-enable treating #warning as error with werror
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
kobewi
14b82c36a2 Defer clearing of ResourceUID cache and silence warnings 2022-10-10 11:20:23 +02:00
Haoyu Qiu
344ed9ec6c Remove leading spaces from enumerator name hints
For `PROPERTY_HINT_ENUM` properties, enumerator names can be provided as
a comma separated list. There're a few properties that add leading
spaces to the names (e.g. `First, Second, Third`).

These spaces are included in the Inspector dropdown, which is
unexpected.

It's better to leave the surrounding spaces untouched because it could
be part of the resulting string value (the variable is a string enum).
And most other enum hints don't contain surrounding whitespaces.

This PR removes the spaces and documents this `PROPERTY_HINT_ENUM`
behavior.
2022-10-08 11:33:50 +08:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde
5b7f62af55 Merge pull request #62910 from Vitika9/gsoc-colorpicker-ux
ColorPicker UX
2022-10-07 09:49:29 +02:00
Nikola Bunjevac
e903362269 Handle last baked vector index early 2022-10-06 00:27:46 +02:00
Rémi Verschelde
57ffc4d82c Merge pull request #66560 from MisterMX/fix/tileset-move-custom-data-layer
fix(tileset): Move custom data layer
2022-10-05 13:39:46 +02:00
Rémi Verschelde
5b6ccf2fd2 Merge pull request #66720 from qarmin/unintialized_memory
Remove usage of unitialized variables
2022-10-05 11:42:47 +02:00
Rémi Verschelde
9513034b88 Merge pull request #66911 from clayjohn/imagetexture3d
Properly assign texture RID when creating ImageTexture3D
2022-10-05 08:32:11 +02:00
clayjohn
7fdb460e5d Properly assign texture RID when creating ImageTexture3D 2022-10-04 15:04:55 -07:00
Micky
1518d813be Support nesting AtlasTextures inside other AtlasTextures
Connects AtlasTexture to its `atlas`'s "changed" signal, allowing it to detect property changes to `atlas` and update accordingly, when the project is running and in the editor, as well.
2022-10-04 17:09:37 +02:00
Yuri Rubinsky
a656dcec01 Fix boolean connection to ports of other types in visual shader 2022-10-03 20:20:00 +03:00
Rafał Mikrut
2233624152 Remove usage of unitialized variables 2022-10-01 21:09:22 +02:00
Rémi Verschelde
e69b7083d4 Merge pull request #65903 from groud/improve_terrain_painting
Right-click to erase TileSet terrains and bugfixes
2022-09-30 17:44:48 +02:00
MisterMX
cfe518b90b fix(tileset): Move custom data layer
Fix crash when moving a custom data layer.

Signed-off-by: MisterMX <mbxd12@web.de>
2022-09-29 11:53:48 +02:00
Rémi Verschelde
6991e9b43d Merge pull request #66583 from bruvzg/constexpr
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
2022-09-29 10:44:22 +02:00
Rémi Verschelde
5bcd019ee9 Merge pull request #66552 from bruvzg/64_bitfields
Change BitField to use 64-bit int.
2022-09-29 10:44:08 +02:00
Rémi Verschelde
315a71103e Merge pull request #66565 from clayjohn/canvas-lights
Clean up canvas light shader API.
2022-09-29 10:43:42 +02:00
bruvzg
ea1848ce0a
Use constexpr in the conditions with template parameters and sizeofs to suppress C4127 warnings. 2022-09-29 10:38:21 +03:00
Rémi Verschelde
67f79819e7 Merge pull request #66551 from bruvzg/font_is_cyclic
Fix Font::_is_cyclic.
2022-09-28 20:47:56 +02:00
Rémi Verschelde
0dd308cedd Merge pull request #66545 from akien-mga/msvc-warnings-c4324-c4389-c4456-c4459
Fix MSVC warnings C4324, C4389, C4456, and C4459
2022-09-28 20:47:43 +02:00
clayjohn
1a0890122f Clean up canvas light shader API.
Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL.
Add LIGHT_DIRECTION
2022-09-28 11:46:58 -07:00
bruvzg
155694c7c6
Fix Font::_is_cyclic. 2022-09-28 18:11:17 +03:00
Rémi Verschelde
7ab01450cf Fix MSVC warning C4702: unreachable code
Part of #66537.
2022-09-28 16:46:48 +02:00
Rémi Verschelde
d8268aae30 Fix MSVC warnings C4324, C4389, C4456, and C4459
Part of #66537.
2022-09-28 16:43:09 +02:00
bruvzg
8a9659b152
Change BitField to use 64-bit int. 2022-09-28 17:36:59 +03:00
Rémi Verschelde
7562932eb2 Merge pull request #66160 from dpalais/double_time
Use double instead of real_t type for time-related parameters and variables
2022-09-27 10:04:10 +02:00
Rémi Verschelde
ed65f903ff Merge pull request #66444 from Calinou/fogvolume-tweak-density-property-hint
Tweak FogVolume density property to allow sliding to negative values
2022-09-27 09:55:15 +02:00
Dave Palais
0c46068af0 Change time parameters and variables to double type
Addresses #65313
2022-09-26 13:52:54 -05:00
Hugo Locurcio
528db5287b
Tweak FogVolume density property to allow sliding to negative values
Negative density is used to subtract fog from the rest of the world.

The visible range in the slider was reduced to [-8; 8] as FogVolume
density should generally not exceed 8.0 (it can introduce aliasing).
2022-09-26 15:44:30 +02:00
Rémi Verschelde
49fcf4ffad Style: Cleanup header guards for consistency
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26 13:51:17 +02:00
clayjohn
36cb3c4050 Set QuadMesh default size back to 1 2022-09-23 11:00:43 -07:00
Rémi Verschelde
d1a155e3cd Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1
Not sure why I didn't get those before, it may be due to upstream
changes (12.2.1 is a moving target, it's basically 12.3-dev), or simply
rebuilding Godot from scratch with different options.
2022-09-22 11:29:48 +02:00
Micky
c1b5b68eee Rename remaining "*_enable" to "*_enabled"
Material.`proximity_fade_enable` -> `proximity_fade_enabled`
Material.`set_proximity_fade` -> `set_proximity_fade_enabled`
(Material.`is_proximity_fade_enabled` is unchanged)

Area3D.`reverb_bus_enable` -> `reverb_bus_enabled`
(`set_use_reverb_bus` & `is_using_reverb_bus` are unchanged)

RDPipelineRasterizationState:
`depth_bias_enable` -> `depth_bias_enabled`
`set_depth_bias_enable` -> `set_depth_bias_enabled`
`get_depth_bias_enable` -> `get_depth_bias_enabled`

Bonus:
Area3D.`set_reverb_bus` -> `set_reverb_bus_name`
Area3D.`get_reverb_bus` -> `set_get_reverb_bus_name`
2022-09-21 22:47:46 +02:00
Micky
3cae53ba70 Remove unused struct in GradientTexture1D 2022-09-21 19:05:03 +02:00
Rindbee
332c566a6c Let the cached TextLine reset the width in get_string_size
Previously, the cached `TextLine` would set the width in `draw_string`, but not in `get_string_size`,
which resulted in unexpected results returned by `get_string_size` in some cases.
2022-09-21 19:47:36 +08:00
Rémi Verschelde
73c35e8d95 Merge pull request #65918 from clayjohn/quadmesh
Add QuadMesh back as a subclass of PlaneMesh.
2022-09-19 22:03:17 +02:00
clayjohn
87710517fa Add QuadMesh back as a subclass of PlaneMesh.
This simplifies the creation of billboarded meshes without any code overhead.
2022-09-19 08:53:10 -07:00
Silc Renew
96ee320fb7 Changed the rest definition of SkeletonProfileHumanoid thumb 2022-09-18 06:28:53 +09:00
Gilles Roudière
68ffa9a2a1 Right-click to erase TileSet terrains and bugfixes 2022-09-16 15:22:55 +02:00
Rémi Verschelde
d6d43dc785 Merge pull request #65873 from Chaosus/fix_uniform_sorting
Fix sorting of uniform items in the material properties
2022-09-16 09:24:18 +02:00
Rémi Verschelde
a981a8061f Merge pull request #65325 from TokageItLab/refactor-variant-for-anim
Move some static methods to `Animation` from `Variant` for refactoring `Animation` and `Tween`
2022-09-16 09:20:50 +02:00
Yuri Rubinsky
4f0e0f1650 Fix sorting of uniform items in the material properties
Co-authored-by: Chia-Hsiang Cheng <garychia@users.noreply.github.com>
2022-09-16 08:59:13 +03:00
Lyuma
033abdc59f 2D and 3D Skeleton modification docs, and small fixes.
Mark SkeletonModificationStack3D and related as deprecated.
Mark local bone override and axis functions deprecated in Skeleton3D api.
Fix array property glitch in SkeletonModificationStack2D
Mark SkeletonModificationStack2D and related APIs as experimental. Mark SkeletonIK3D as deprecated.
2022-09-14 15:07:45 -07:00
Rémi Verschelde
b094e4f1a1
Merge pull request #64092 from nathanfranke/shader-uniform 2022-09-14 22:07:15 +02:00
Silc Renew
9d47e079b7 Move some methods to Animation from Variant for refactoring 2022-09-15 04:52:43 +09:00
Rémi Verschelde
fff0970c5a
Merge pull request #65628 from JohanAR/particle_billboard_normal
Calculate MODELVIEW_NORMAL_MATRIX for billboard materials
2022-09-14 21:17:30 +02:00
Rémi Verschelde
d9e974cdb0
Merge pull request #65493 from V-Sekai/lod_scaling
Fixes LOD scaling issues on skinned meshes.
2022-09-14 09:57:02 +02:00
Rémi Verschelde
dbd6fa7e33
Merge pull request #65737 from bruvzg/font_do_not_emit_from_dtr
[Font] Remove unnecessary cleanup and `changed` signal emission from the destructor.
2022-09-14 07:59:59 +02:00
SaracenOne
13f5c62124 Fix LOD-generation on skinned meshes. 2022-09-14 02:46:10 +01:00
clayjohn
8fa76a5272 Move debanding into internal sky shader code so that it is applied after everything else.
This ensures that the debanding does not scale with exposure or any other effect.
2022-09-13 10:39:04 -07:00
bruvzg
2ece5b4a6b
[Font] Remove unnecessary cleanup and changed signal emission from the destructor. 2022-09-13 10:28:12 +03:00
benbot
f0ebfdb6ed removed 2nd particle collision velocity calculation 2022-09-12 13:07:26 -04:00
Johan Aires Rastén
bb657c04fc Calculate MODELVIEW_NORMAL_MATRIX for billboard materials
Solves #65627
2022-09-10 21:08:29 +02:00
Yuri Sizov
141fdac36c
Merge pull request #65188 from Mickeon/animated-texture-speed-scale
Rework AnimatedTexture's `fps` into `speed_scale`
2022-09-08 18:25:35 +03:00
smix8
d7f75fab60 Remove / Replace old Navigation Debug Visualization
- removes / replaces leftovers from old navigation debug code
- cleanes SceneTree and ProjectSettings from old navigation debug
2022-09-07 18:30:35 +02:00
Rémi Verschelde
e0c7916f73 Merge pull request #59069 from fire-forge/stylebox_margin_functions
Add all/individual setters for StyleBox default margins and StyleBoxTexture margin size and unbind `StyleBox*.set_*_individual()` methods
2022-09-07 17:52:58 +02:00
Rémi Verschelde
48705b1f03 Merge pull request #65355 from groud/split_container_min_grab_thickness
Allow SplitContainer to have a grab area larger than its visual grabber
2022-09-07 17:51:52 +02:00
FireForge
dcfd7622d1 Unbind StyleBox*.set_*_individual() methods
Unbinds the following methods:
- StyleBox.set_default_margin_individual()
- StyleBoxFlat.set_corner_radius_individual()
- StyleBoxFlat.set_expand_margin_individual()
- StyleBoxTexture.set_expand_margin_individual()
- StyleBoxTexture.set_margin_size_individual()
2022-09-07 16:37:36 +03:00
FireForge
dd7ee37c8a Add set_default_margin_all/individual to StyleBox 2022-09-07 16:37:36 +03:00
Gilles Roudière
4cbcb5acda Allow SplitContainer to have a grab area larger than its visual grabber 2022-09-07 12:33:02 +02:00
Rémi Verschelde
647f345ffe Merge pull request #65457 from Chaosus/vs_fix2
Add conversion for uniform_name property in visual shader
2022-09-07 09:09:58 +02:00
Rémi Verschelde
2841bc358c Merge pull request #65446 from YuriSizov/dialogs-make-styleboxes-matter
Make `AcceptDialog` and derivatives utilize `StyleBox` fully
2022-09-07 09:09:15 +02:00
Rémi Verschelde
80dacac90c Merge pull request #65437 from YuriSizov/theme-gui-renames
Improve naming of theme properties throughout GUI code
2022-09-07 08:58:00 +02:00
Yuri Rubinsky
b17a306239
Merge pull request #65455 from Chaosus/vs_fix 2022-09-07 08:44:01 +03:00
Yuri Rubinsky
09c98cdde9 Add conversion for uniform_name property in visual shader 2022-09-07 08:19:02 +03:00
Yuri Rubinsky
3401228fbd Fix code generation for VisualShaderNodeTextureParameterTriplanar 2022-09-07 07:02:07 +03:00
Yuri Sizov
5eaf82b4f0 Make AcceptDialog and derivatives utilize StyleBox fully 2022-09-07 01:42:11 +03:00
Yuri Sizov
39ef611a7d Fix theming code in Panel, SplitContainer, RichTextLabel 2022-09-06 22:53:19 +03:00
Yuri Sizov
43f03e2ce6 Improve naming of theme properties throughout GUI code
Rename ItemList's bg -> panel
Rename ItemList's bg_focus -> focus
Rename ProgressBar's bg -> background
Rename ProgressBar's fg -> fill
Rename Tree's bg -> panel
Rename Tree's bg_focus -> focus
Rename ScrollContainer's bg -> panel
Rename FileDialog's *_icon_modulate -> *_icon_color
Rename FileDialog's files_disabled -> file_disabled_color
Rename CheckButton's on/off -> checked/unchecked
Rename check_v_adjust -> check_v_offset
2022-09-06 22:53:17 +03:00
Micky
9c9c5f662f Rework AnimatedTexture's fps into speed_scale
`fps` has been turned into `speed_scale`. It now affects the scale of the entire animation. If `speed_scale` is a negative value, the animation is played in reverse.

`frame_n/delay_sec` has been renamed to `frame_n/duration` _(prefixes exist, making the previous name redundant)_.

Setters and getters, documentation updated, too.
2022-09-06 21:40:09 +02:00
Rémi Verschelde
0c4d578bdf
Merge pull request #65194 from Mickeon/rename-one-shot 2022-09-06 18:32:48 +02:00
Vitika9
1dce43d417 ColorPicker UX improvements
- Tabs and MenuButton for mode selection and enabling/disabling colorized sliders
- MenuButton for shape selection with new icon for each shape
- Drag and drop functionality for presets to arrange order
- A chronological list of recently selected presets which are global for the editor
- Presets are now highlighted as being active or inactive
- Thicker sliders for easy targeting
- `grabber_offset` theme constant for Slider
- Uncolorized sliders
2022-09-06 21:42:20 +05:30
Micky
b6daad8d4b Rename range_lerp to remap 2022-09-06 07:19:20 +02:00
Patrick
e3ee2a0a6e Disable Output port preview of Linear Depth Visual Shader node
This disables the output port preview of the node because it's enabled preview caused a shader compilation error
2022-09-03 22:36:37 +02:00
Nathan Franke
82d2a97a83
prefix shader parameters with "shader_parameter/" 2022-09-02 20:41:00 -05:00
Rémi Verschelde
77ca96fd73 Merge pull request #59589 from Calinou/rename-or-lesser-range-property-hint 2022-09-02 23:13:20 +02:00
Hugo Locurcio
f7292dbeb3
Rename or_lesser range property hint to or_less
"less" should be used for quantity, rather than "lesser".

Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Yuri Rubinsky
1241c4b6ba Revert usage of typed array in add_surface_from_arrays parameters 2022-09-02 18:08:43 +03:00
Rémi Verschelde
3a62c294c7 Merge pull request #65170 from KoBeWi/your_argument_is_TypedArray 2022-09-02 13:57:02 +02:00
Rémi Verschelde
c82bbc38a5 Merge pull request #64952 from Chaosus/vs_rename_uniform_to_param 2022-09-02 13:49:53 +02:00
Rémi Verschelde
5a136ee490 Merge pull request #64724 from KoBeWi/HVBoxContainer 2022-09-02 08:44:42 +02:00
Jonathan Nicholl
15d057c521 Add is_zero_approx methods to Vector2, 3, and 4 2022-09-02 00:29:50 -04:00
Rémi Verschelde
d63c6fc463 Merge pull request #60185 from Calinou/environment-fog-and-sky-affect 2022-09-01 23:52:34 +02:00
Rémi Verschelde
005aac2dbe Merge pull request #65187 from JohanAR/vector_to_size 2022-09-01 23:50:59 +02:00
Rémi Verschelde
5263fd5343 Merge pull request #64198 from Geometror/add-bitmap-tests 2022-09-01 23:46:38 +02:00
Rémi Verschelde
2e0cffdb6f Merge pull request #63479 from DarkKilauea/nav-link 2022-09-01 23:44:22 +02:00
kobewi
73929bef73 Rework oriented containers 2022-09-01 22:13:46 +02:00
Johan Aires Rastén
b7e2d45233 Replace Vector2(i) with Size2(i) for methods returning a size 2022-09-01 20:04:17 +02:00
Hugo Locurcio
699e9f7966
Add Environment properties to control fog rendering on background sky
Values lower than 1.0 can be used to make the fog rendering not fully
obstruct the sky. This can be desired when using fog as a purely
atmospheric effect, without intending to use fog for open world fog
fading.

When set to 0.0, fog rendering behavior will be similar to Godot 3.x
where sky rendering was never affected by fog.
2022-09-01 19:07:39 +02:00
Hendrik Brucker
ea0472fecf Refactor BitMap and add tests
Co-authored-by: Resul Çelik <resul_celik@hotmail.com>
2022-09-01 18:39:17 +02:00
Micky
8949386382 Rename AnimatedTexture oneshot to one_shot
AnimatedTexture.`oneshot` -> `one_shot`

For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-01 15:38:06 +02:00
Yuri Sizov
15fd025f90 Add dumb and manual theme caching systems to Window 2022-09-01 16:05:02 +03:00
kobewi
7adc8376ed Change Array arguments to TypedArray 2022-09-01 13:13:19 +02:00
Yuri Rubinsky
8191b3c110 Rename uniform to parameter across the engine 2022-09-01 11:42:57 +03:00
Rémi Verschelde
89f0886425
Merge pull request #65073 from bruvzg/trim_spaces
[TextServer] Add support for trimming edge spaces on line break.
2022-09-01 08:16:52 +02:00
Rémi Verschelde
e67c967cbc
Merge pull request #63751 from clayjohn/physical_light_units
Implement Physical Light Units in Vulkan Renderers
2022-09-01 08:08:38 +02:00
bruvzg
7aad14a4b6
[TextServer] Add support for trimming edge spaces on line break. 2022-09-01 08:11:55 +03:00
clayjohn
385ee5c70b Implement Physical Light Units as an optional setting.
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value.

In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-31 12:14:46 -07:00
Patrick
323ff657c0 Fix LinearDepth calculation for GLES3
This change will calculate the depth ndc differently for GLES3 and Vulkan as described in here:
stable:
https://docs.godotengine.org/en/stable/tutorials/shaders/advanced_postprocessing.html
godot 4 with vulkan:
https://docs.godotengine.org/en/latest/tutorials/shaders/advanced_postprocessing.html
2022-08-31 21:00:13 +02:00
Rémi Verschelde
4daa0274ca
Merge pull request #65092 from groud/inherited_scenes_tilesets 2022-08-31 12:07:18 +02:00
Gilles Roudière
b69f804c1a Fixes inherited scenes not working in TileSet scenes collection sources 2022-08-31 10:12:04 +02:00