Commit graph

9915 commits

Author SHA1 Message Date
Yuri Sizov 45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Rémi Verschelde 0a7579b161
Fix #if *_ENABLED inconsistencies, should check if defined
Co-authored-by: Caroline Joy Bell <halotroop2288@proton.me>
2024-01-17 10:30:15 +01:00
HolonProduction 6af45c6ef2 Handle GDScript in _type_from_variant for autocompletion 2024-01-16 23:04:10 +01:00
A Thousand Ships 227a165ce4
[C#] Fix Encloses failing on shared upper bound for AABB and
`Rect2(I)`
2024-01-16 20:20:53 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde 3df0c5be6a
Merge pull request #86473 from reduz/audio-playback-parameters
Implement audio stream playback parameters.
2024-01-16 10:35:36 +01:00
Juan Linietsky a40fe16866 Implement audio stream playback parameters.
Implements a way for audio stream playback to be configured via parameters
directly in the edited AudioStreamPlayer[2D/3D].

Currently, configuring the playback stream is not possible (or is sometimes hacky
as the user has to obtain the currently played stream, which is not always immediately available).

This PR only implements this new feature to control looping in stream playback instances (a commonly requested feature, which was lost in the transition from Godot 2 to Godot 3).
But the idea is that it can do a lot more:

* If effects are bundled to the stream, control per playback instance parameters such as cutoff or resoance, or any other exposed effect parameter per playback instance.
* For the upcoming interactive music PR (#64488), this exposes an easy way to change the active clip, which was not possible before.
* For the upcoming parametrizable audio support (https://github.com/godotengine/godot-proposals/issues/3394) this allows editing and animating audio graph parameters.

In any case, this PR is required to complete #64488.

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update doc/classes/AudioStream.xml

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-01-16 10:31:52 +01:00
Malcolm Nixon c316eee929 Add bone update option to OpenXRHand to allow preserving original hand scale.
This is useful if the hand model is not weighted to support re-scaling to the users hands; or the hand is scaled to non-human sizes.
2024-01-15 23:55:13 -05:00
Alberto Vilches 7a90c56c00 C# Add test suite for Diagnostic Analyzers: GlobalClass and MustBeVariant 2024-01-15 11:31:12 +01:00
BlueCube3310 381d6348df Use ETC2 compression for grayscale images 2024-01-13 13:27:00 +01:00
Aaron Franke d36a34edb7
Misc changes to the GLTF module before audio PR 2024-01-11 20:33:51 -06:00
Rémi Verschelde 8616487ece
Merge pull request #86916 from BlueCube3310/basisu-etc2-ra-rg
Fix `BasisUniversal` ETC RA as RG transcoding
2024-01-11 20:45:38 +01:00
Rémi Verschelde 5cdd0c6cd6
Merge pull request #84613 from Calinou/glslang-build-only-vulkan
Only build glslang if Vulkan or Direct3D 12 rendering is enabled
2024-01-11 20:44:50 +01:00
Rémi Verschelde 4b305cd903
Merge pull request #86982 from BastiaanOlij/openxr_touch_plus
OpenXR: Add Meta touch plus interaction profile
2024-01-11 17:41:26 +01:00
Rémi Verschelde 9e967ebdf9
Merge pull request #86583 from reduz/lightmapper-dda-fix
Tiny fix for lightmapper DDA
2024-01-11 17:37:45 +01:00
Rémi Verschelde 3dcf9059ae
Merge pull request #86454 from Repiteo/c#-upgrade-TFMs
C#: Upgrade TFM for `net472` and some `netstandard2.0` projects
2024-01-11 17:37:19 +01:00
Rémi Verschelde 087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
Update deferred calls to use Callables
2024-01-11 17:36:29 +01:00
Rémi Verschelde ba96dbb49a
Merge pull request #85460 from van800/master
Bump the `JetBrains.Rider.PathLocator` PackageReference to 1.0.8
2024-01-11 17:36:04 +01:00
Rémi Verschelde 2c83241f8a
Merge pull request #85204 from BastiaanOlij/openxr_hand_tracking_datasource
OpenXR: Add support for hand tracking source extension
2024-01-11 17:35:38 +01:00
Bastiaan Olij f2ef41b853 Add Meta controller extension 2024-01-11 15:29:38 +11:00
Hugo Locurcio 2aaa4cd645
Only build glslang if Vulkan or Direct3D 12 rendering is enabled
glslang isn't needed for OpenGL rendering, which includes the web export.
This reduces the web release export template's `.wasm` size by about 20 KB,
since web builds use `vulkan=no`.
2024-01-11 00:42:56 +01:00
Rémi Verschelde cea56336b2
Merge pull request #86972 from zaevi/fix_csharp_method_return_type
C#: Fix return type hint for methods.
2024-01-10 12:03:33 +01:00
Rémi Verschelde 8a6debd71e
Merge pull request #86592 from emklasson/fix_gd0103_link
Fix typo in GD0103 error link
2024-01-10 12:03:29 +01:00
Juan Linietsky caef2be758 Tiny fix for lightmapper DDA
- Ensures only one axis advances at a time
- This fixes extremely corner cases where the DDA may skip over geometry
2024-01-10 10:39:56 +01:00
Bastiaan Olij 4c806c03df OpenXR: Add support for hand tracking source extension 2024-01-10 16:58:40 +11:00
Rémi Verschelde b7f7ca1412
Merge pull request #85783 from TheSofox/regex-lookahead-fix
Fix RegEx `search_all` for zero length matches/lookahead
2024-01-09 17:47:14 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde 78fadf45ca
Merge pull request #85335 from zinefer/bugfix-blend-importer-on-windows-network-share
Replace `//` with `\\` before sending path to Blender
2024-01-09 15:30:50 +01:00
Rémi Verschelde 6f118b8c4a
Merge pull request #86985 from timothyqiu/zip-packer-attributes
Fix ZIPPacker storing file permissions unexpectedly
2024-01-09 11:30:02 +01:00
Rémi Verschelde 079f1c154d
Merge pull request #86269 from aaronfranke/detect-module
Allow detecting when building as an engine module
2024-01-09 11:27:24 +01:00
Rémi Verschelde e9695d9fa2
Merge pull request #84976 from DarioSamo/rd_common_render_graph
Acyclic Command Graph for Rendering Device
2024-01-09 11:27:19 +01:00
Rémi Verschelde 1edcf9a405
Merge pull request #81345 from anvilfolk/gdoverview
GDScript: Add module description in markdown
2024-01-09 11:27:05 +01:00
Haoyu Qiu 7a833c9b2e Fix ZIPPacker storing file permissions unexpectedly 2024-01-09 13:55:34 +08:00
HolonProduction 92a7c26806 Allow specifying a scene in completion tests 2024-01-08 22:38:41 +01:00
Zae 51c54b03d1 C#: Fix return type hint for methods. 2024-01-09 04:28:17 +08:00
Dario cc4d39b0c1 Acyclic Command Graph for RenderingDevice.
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Rémi Verschelde c6671d9961
Merge pull request #86906 from Malcolmnixon/avatar-capable-openxrhand
Add ability to drive full-body avatars using OpenXRHand
2024-01-08 14:53:20 +01:00
Silc Lizard (Tokage) Renew a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
Rémi Verschelde 01f8ce6e3d
Merge pull request #86846 from capnm/240105_thorvg_from_v0.11.6_to_v0.12.0
ThorVG: update from v0.11.6 to v0.12.0
2024-01-08 11:58:19 +01:00
Rémi Verschelde c10d268974
Merge pull request #86787 from ryevdokimov/code-spell-check
Fix various spelling errors across engine solution
2024-01-08 11:55:55 +01:00
Rémi Verschelde 60f557c0c5
Merge pull request #86016 from demolke/master
Import step interpolation for loc/rot/scale from GLTF as nearest
2024-01-08 11:52:16 +01:00
Rémi Verschelde b88535fe23
Merge pull request #85178 from HolonProduction/completion-tests
Add unit test runner for autocompletion
2024-01-08 11:51:03 +01:00
Martin Capitanio e090b112ef ThorVG: update from v0.11.6 to v0.12.0
https://github.com/thorvg/thorvg/releases/tag/v0.12.0

Godot-related SVG bug fixes:

+ [SwEngine] Fixed a linear filling scaling issue.
      thorvg/thorvg#1834
+ [SwEngine] Path data not invalid even though
      it doesn't start with MoveTo.
      thorvg/thorvg#1848

Fixes #86128 Gradient issue.
2024-01-08 09:59:43 +01:00
Malcolm Nixon 5b8b2a4e70 Add ability to drive full-body avatars using OpenXRHand
This PR allows the OpenXRHand to drive:
- OpenXR rigged hand skeletons located under the OpenXRHand node
- Godot Humanoid rigged hand skeletons located under the OpenXRHand node
- OpenXR rigged avatar skeletons located separately in the scene-tree
- Godot Humanoid avatar skeletons located separately in the scene-tree
2024-01-07 12:08:54 -05:00
BlueCube3310 51ad937532 Fix BasisUniversal ETC RA_AS_RG transcoding 2024-01-07 12:53:01 +01:00
Thaddeus Crews 7a06390552
C#: Upgrade TFM for net472 and some netstandard2.0 projects 2024-01-06 09:14:33 -06:00
Aaron Franke 91b24b2780
Use GODOT_MODULE define in TextServer modules 2024-01-06 01:19:29 -06:00
Aaron Franke e2b3c588e1
Allow detecting when building as an engine module 2024-01-06 01:19:29 -06:00
demolke 3749cbb3ca Import step interpolation for loc/rot/scale from GLTF as nearest
Currently all object transform animation tracks get imported and baked
as linear. For step interpolation mark the resulting animation track
with Nearest interpolation to make sure there are no in-betweens
generated. This is useful for camera cuts or similar.
2024-01-05 22:03:57 +01:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
HolonProduction af4cbaf751 Add unit test runner for autocompletion 2024-01-05 17:49:51 +01:00
Rémi Verschelde bf1de980e5
Merge pull request #86569 from rune-scape/rune-fix-lambda-hotswap2
GDScript: Lambda hotswap fixes
2024-01-05 12:05:32 +01:00
rune-scape 49bce5c9ef GDScript: Lambda hotswap fixes 2024-01-04 16:33:54 -08:00
Aaron Franke 9753a35c76
Move 3D scene import classes to their own folder 2024-01-04 11:02:49 -06:00
Rémi Verschelde 5eb22a317d
Merge pull request #83577 from DennisManaa/fix-translation-for-item-list
Add automatic translation of items to ItemList
2024-01-04 16:39:36 +01:00
Rémi Verschelde 150f2a75b2
Merge pull request #83120 from dalexeev/gds-allow-property-getter-empty-parentheses
GDScript: Allow empty parentheses for property getter declaration
2024-01-04 16:39:16 +01:00
Rémi Verschelde 2bffa3cbc5
Merge pull request #82639 from golfinq/gdscript-improve-indexing-error
GDScript: Improve error messages for invalid indexing
2024-01-04 16:38:58 +01:00
Robert Yevdokimov f9826a1dd7 Fix various spelling errors 2024-01-04 09:56:43 -05:00
Rémi Verschelde 525e0bb37c
Merge pull request #86667 from HolonProduction/completion-enum-sorting
Improve sorting of enum autocompletion
2024-01-04 14:26:25 +01:00
Rémi Verschelde 2a4eaa4cd8
Merge pull request #86555 from RandomShaper/fix_warn
Fix LightmapperRD division warning in MSVC
2024-01-04 14:26:20 +01:00
Rémi Verschelde bfbe145457
Merge pull request #84546 from Rubonnek/fix-jpg-save-bugs
Do not mutate source Image in `Image::save_jpg` and use encoder return value
2024-01-04 14:26:04 +01:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde 11d1844e66
Merge pull request #85869 from paulloz/dotnet-warning-out-of-date-properties
.NET: Add a warning in the inspector when properties might be out of sync
2024-01-03 15:43:41 +01:00
Rémi Verschelde 9b2686c333
Merge pull request #84289 from bruvzg/icu741
ICU4C: Update to version 74.1
2024-01-03 15:41:59 +01:00
Rémi Verschelde 8be3c4b73f
Merge pull request #86341 from Vilcrow/fix-self-completion
Fix the autocomplete function for the 'self' keyword.
2024-01-03 10:00:19 +01:00
Rémi Verschelde ca7fb29203
Merge pull request #84800 from gshadows/fix_options_range
Fix unlimited project option ranges that could cause crashes.
2024-01-03 09:59:31 +01:00
Rémi Verschelde 22e880ad20
Merge pull request #83163 from Chubercik/vectorXi_dist_methods
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2024-01-03 09:58:36 +01:00
rune-scape cde478bda6 Hot-reload only changed scripts 2024-01-02 17:56:52 -08:00
S.V.I. Vilcrow c8fc824608 Fix the autocomplete function for the 'self' keyword. 2024-01-02 20:47:41 +03:00
Rémi Verschelde a1d45858e0
Merge pull request #86504 from lyuma/gltf_reimport_textures_merry_xmas
gltf: Fix three bugs which prevented extracted textures from being refreshed
2024-01-02 18:05:19 +01:00
Rémi Verschelde 2e1725bef6
Merge pull request #86088 from dalexeev/gds-fix-static-func-as-callable-in-static-context
GDScript: Fix accessing static function as `Callable` in static context
2024-01-02 18:05:16 +01:00
Rémi Verschelde b5c6e870e8
Merge pull request #82264 from dalexeev/core-builtin-methods-as-callables
Core: Allow methods of built-in `Variant` types to be used as Callables
2024-01-02 18:05:05 +01:00
Rémi Verschelde 06bb9f28e7
Merge pull request #86704 from AThousandShips/len_fix
[GDScript] Add `StringName` support to `@GDScript.len`
2024-01-02 15:09:09 +01:00
Rémi Verschelde ac83ad1e65
Merge pull request #80390 from EddieBreeg/issue_80358
Fix potential integer underflow in rounded up divisions
2024-01-02 15:08:37 +01:00
A Thousand Ships 045d921044 [GDScript] Add StringName support to @GDScript.len 2024-01-02 14:28:34 +01:00
EddieBreeg 8747c67d9e
Fix potential integer underflow in rounded up divisions
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.

Fixes #80358.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
HolonProduction 76fd7ec394 Improve sorting of enum autocompletion 2023-12-31 14:35:08 +01:00
Aaron Franke 8acef03cb5
Add export settings to the export dialog for GLTF 2023-12-30 19:57:39 -06:00
Pedro J. Estébanez fe8c217b7c Fix warning in MSVC 2023-12-27 17:50:45 +01:00
HolonProduction 54742f7c60 Fix symbol lookup in index subscript 2023-12-27 17:46:17 +01:00
Mikael Klasson a2b183067c fix: use correct number in GD0103 link 2023-12-27 20:30:59 +09:00
Lyuma fea4165ca8 gltf: fix three bugs which prevented extracted textures from being refreshed.
1. Extracted texture paths in `GLTFDocument::_parse_image_save_image` at the project root started with res:/// which broke cache invalidation
2. md5 hashes were not being written to generator_parameters for new imports, which led Godot to think the file was manually created.
3. `EditorFileSystem::reimport_append` must emit the `resources_reimported` signal in order for the resource cache to be updated.
2023-12-25 01:03:40 -08:00
Paul Joannon 0818d015db
Inspector ⚠️ when C# props might be out of date 2023-12-22 23:27:13 +01:00
G-Shadow cbc8ae660c Fix unlimited project option ranges that could cause crashes. 2023-12-22 09:14:45 +03:00
Raul Santos abd7927325
C#: Use string literal instead of nameof
Using `nameof` expressions with method parameters requires C# 11 and we're currently on C# 10.
2023-12-21 03:11:47 +01:00
Yuri Sizov c28a091a09 Merge pull request #86336 from LunaticInAHat/dds_implicit_linearsize
Support unspecified linear size in DDS files
2023-12-20 15:08:17 +01:00
Yuri Sizov 1183bdefe4 Merge pull request #86257 from Faless/mp/fix_complete_auth
[MP] Fix `complete_auth` notifying the wrong peer
2023-12-20 15:08:02 +01:00
LunaticInAHat a344d7f906 Support unspecified linear size in DDS files
Not all exporters choose to populate that (optional) header field.
2023-12-19 16:42:10 -05:00
Yuri Sizov fc082dd735 Merge pull request #86091 from dalexeev/gds-fix-pot-gen-skips-some-nodes
GDScript: Fix POT generator skips some nodes
2023-12-19 20:33:09 +01:00
Yuri Sizov dee2604d99 Merge pull request #84729 from nickyfoo/add-navigationserver-getters
Add missing getters to navigation servers
2023-12-19 20:32:46 +01:00
Yuri Sizov ef79e5d9dd Merge pull request #82983 from Repiteo/c#-godotsharp-nullable-classes
[C#] Enable nullability for variant classes
2023-12-19 20:32:30 +01:00
Yuri Sizov c8d0325a93 Merge pull request #82955 from paulloz/testing-source-generators
Add unit tests for C# source generators
2023-12-19 20:32:26 +01:00
Yuri Sizov e18659c69d Merge pull request #82872 from jsjtxietian/require-editor-restart-when-csg-gizmo-color-changed
Prompt require editor restart to user when gizmo color changed
2023-12-19 20:32:20 +01:00
Nicholas Foo e7ee672120 Add getters to navigation servers
Add virtual functions and bind to navigation servers
Implement getters
Add documentation
2023-12-19 19:51:49 +01:00
msreis f1cc14d525 Fix missing time for some script functions in profiler
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.

Fixes #23715, #40251, #29049
2023-12-19 19:42:21 +01:00
Paul Joannon b352bdc8cb
Add tests for source generators
- Bootstrap xUnit project to test source generators
- Implement source generator tests
- Better tests structure (put test data in cs files)
- Enable `ScriptSerializationGeneratorTests`
- Enable `ScriptPathAttributeGeneratorTests`
- Fix `NesterClass` -> `NestedClass`
- Use `Path.Combine` when dealing with paths
- Copy test data to the output directory
2023-12-19 18:26:52 +01:00
Yuri Sizov f478a599fc Merge pull request #85975 from Repiteo/c#-null-ptr-exception
C#: Implement function to throw on null pointers
2023-12-19 13:02:24 +01:00
Yuri Sizov 38d8ca0dc1 Merge pull request #85703 from TitanNano/jovan/gdscript_foreign_script_properties
Make GDScriptAnalyzer aware of properties from other languages
2023-12-19 13:02:19 +01:00
Yuri Sizov a6f806f8da Merge pull request #85487 from vnen/gdscript-static-register-annotations
GDScript: Make annotations register statically in parser
2023-12-19 13:02:09 +01:00
Yuri Sizov ec648fcfd8 Merge pull request #85447 from smix8/gridmap_navlayer_leftover
Remove GridMap navigation_layers leftover
2023-12-19 13:01:49 +01:00