Commit Graph

11277 Commits

Author SHA1 Message Date
Rémi Verschelde
9bcb9adad9
Merge pull request #96444 from clayjohn/Betsy-print-error
Print shader compiler error when betsy shader fails to compile
2024-09-04 18:55:39 +02:00
Rémi Verschelde
dbdc4eb204
Merge pull request #96330 from rune-scape/little-regression
GDScript: Fix small mistake in script valid checks
2024-09-04 18:55:31 +02:00
Rémi Verschelde
721d280b8a
Merge pull request #96326 from HolonProduction/completion-hacks-and-fixes
Autocompletion: Reintroduce enum options on assignment
2024-09-04 18:55:27 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde
885d38b5ce
Merge pull request #96355 from smix8/nav_mesh_queries
Move NavigationServer mesh queries to dedicated file
2024-09-03 16:13:58 +02:00
Rémi Verschelde
d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
smix8
a4cfc77dc0 Move NavigationServer mesh queries to dedicated file
Moves all the navigation mesh query related functions from NavMap and NavRegion to a dedicated file and makes them static.
2024-09-03 13:16:35 +02:00
Rémi Verschelde
6de2d31a61
Merge pull request #96351 from stuartcarnie/sgc/metal_light_betsy
Metal: Enable for betsy and lightmapper modules in compatibility mode
2024-09-03 11:43:42 +02:00
Rémi Verschelde
4d3f1db954
Merge pull request #96099 from NotWearingPants/patch-1
NoiseTexture2D/3D: Don't use a thread to regenerate when the build doesn't support threads
2024-09-03 11:43:27 +02:00
Rémi Verschelde
e004ae7bbe
Merge pull request #85965 from ershn/use_heap_in_astar_path_finding
Improve pathfinding performance by using a heap to store traversable polygons
2024-09-03 11:42:48 +02:00
NotWearingPants
b47b98db34
NoiseTexture2D/3D: Don't use a thread to regenerate when the build doesn't support threads 2024-09-03 11:40:17 +02:00
Aaron Franke
f82262eecb
GLTF: Add append_gltf_node to GLTFState 2024-09-02 19:05:03 -07:00
Rémi Verschelde
7c383767a2
Merge pull request #96464 from Faless/mp/fix_profiler_divsion_by_zero
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
[MP] Fix division by zero in network profiler
2024-09-02 18:08:17 +02:00
Fabio Alessandrelli
042b264c55 [MP] Fix division by zero in network profiler
The debugger reports synchronizers with empty state to the editor
even if no data is being sent to other peers.

The editor conditional to avoid division by zero was checking the wrong
variable.
2024-09-02 13:29:38 +02:00
Rémi Verschelde
bb3fab960f
Merge pull request #96377 from BlueCube3310/betsy-signed
Betsy: Add signed mode for BC6
2024-09-02 12:13:30 +02:00
BlueCube3310
30c42b3a3f Betsy: Add signed mode for BC6 2024-09-02 09:49:14 +02:00
clayjohn
b8933a4d95 Print shader compiler error when betsy shader fails to compile 2024-09-01 13:39:00 -07:00
Ershn
c3ee32f106 Use a heap to store traversable polygons for pathfinding 2024-09-01 11:24:14 +09:00
Marius Hanl
74f64aaf98 Use InputMap actions consistently across all LineEdit's that filter an underlying Tree or ItemList.
- Instead of checking for Key::UP, Key::DOWN, Key::PAGEUP, Key::PAGEDOWN etc., we rather check for the action like 'ui_up' or 'ui_down'.
- Also use AcceptDialog's 'register_text_enter' functionality to consistently close a dialog when ENTER is pressed while the LineEdit has focus (instead of redirecting ENTER keys to e.g. the underlying Tree).
- Unify the LineEdit filter behavior for the SceneTreeDialog and corresponding usages
- Improve OK Button disablement (something should be selected)
2024-08-31 21:10:27 +02:00
A Thousand Ships
194bdde947
Cleanup of raw nullptr checks with Ref
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
boywaste
7014c5b27d GDScript: Fix small mistake in script valid checks 2024-08-30 19:41:02 -07:00
Stuart Carnie
a7a245de92
Metal: enable for betsy and lightmapper modules
To support this, the rendering_context_driver_metal.h header was updated
to recognise when it is included in non-Objective-C source files.
2024-08-31 08:29:07 +10:00
Rémi Verschelde
ace4529b16
Merge pull request #96335 from raulsntos/dotnet/export-plugin
C#: Use export platform to determine the target OS and log errors
2024-08-30 23:38:10 +02:00
Danil Alexeev
49bcdf78a7
Core: Сheck r_error after calling callp() 2024-08-30 21:09:30 +03:00
HolonProduction
171c522290 Autocompletion: reintroduce enum options on assignment 2024-08-30 13:46:48 +02:00
Raul Santos
4c14421602
C#: Use export platform to determine the target OS and log errors
- Use the export platform's `get_os_name` to determine the platform name instead of guessing from the features.
- Use the export platform's `add_message` to add error messages instead of a custom error dialog. Integrates .NET error messages with the export log dialog.
2024-08-30 12:45:24 +02:00
Rémi Verschelde
2e4c07bfe0
Merge pull request #96229 from dalexeev/gds-replace-assert-in-tests
GDScript: Replace `assert()` with `Utils.check()` in tests
2024-08-30 11:43:05 +02:00
Rémi Verschelde
69d6106d4d
Merge pull request #96293 from RedOrbweaver/fix_msbuild_logger
C#: Fix build logger unable to handle an event without an associated file
2024-08-30 09:59:51 +02:00
Rémi Verschelde
5418919c3c
Merge pull request #96240 from DeeJayLSP/mp3-data
MP3: Use heap for big struct when setting data
2024-08-30 09:59:39 +02:00
Rémi Verschelde
909629d9f9
Merge pull request #96166 from AThousandShips/more_lock_raii
Use `MutexLock` in more places
2024-08-30 09:59:19 +02:00
Rémi Verschelde
8e402bcb36
Merge pull request #95999 from DeeJayLSP/mp3-mem
MP3: Remove unnecessary memory allocation
2024-08-30 09:59:15 +02:00
Rémi Verschelde
f0ee0bdd37
Merge pull request #93972 from Hilderin/fix-editor-needs-restart-after-adding-gdextensions
Fix editor needs restart after adding GDExtensions
2024-08-30 09:59:05 +02:00
rune-scape
154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
RedOrbweaver
81799b8fa3 Fix build logger unable to handle an event without an associated file 2024-08-29 20:33:47 +02:00
demolke
c409e6d722 Import/export GLTF extras to node->meta
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.

- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
A Thousand Ships
e33fdb4296
Use MutexLock in more places 2024-08-29 14:12:59 +02:00
Hilderin
ef6f873938 Fix editor needs restart after adding GDExtensions 2024-08-29 06:15:32 -04:00
Rémi Verschelde
faa3688e69
Merge pull request #96251 from aaronfranke/gltf-get-supported-ext
Add `get_supported_gltf_extensions` to GLTFDocument
2024-08-29 10:36:45 +02:00
Rémi Verschelde
80cd8f4c2d
Merge pull request #92581 from rune-scape/rune-text-srvr-fb-cacher
TextServerFallback: 2x performance improvement by removing redundant lookups
2024-08-29 10:36:26 +02:00
Rémi Verschelde
03d1f43131
Merge pull request #92575 from rune-scape/rune-text-srvr-cacher
TextServerAdvanced: 2x performance improvement by removing redundant lookups
2024-08-29 10:36:23 +02:00
Rémi Verschelde
cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +02:00
Rémi Verschelde
96cbcc30e2
Merge pull request #90945 from Scony/extract-navigation-defaults
Extract navigation-related defaults to separate header
2024-08-29 10:36:14 +02:00
Aaron Franke
ee5e97742a
Add get_supported_gltf_extensions to GLTFDocument 2024-08-28 17:54:45 -07:00
rune-scape
2fc5321d39 TextServerFallback: improve performance by removing redundant lookups
+ caching editor setting
+ using a faster hash method on the FontForSizeFallback cache
+ SafeFlag instead of mutex for ShapedTextDataFallback::valid bc its read Very often
2024-08-28 13:10:43 -07:00
Aina
930742f8b3 Fix missing GDScriptParser reference on completion context 2024-08-28 17:03:12 -03:00
rune-scape
4ba7738a1f TextServerAdvanced: improve performance by removing redundant lookups
+ caching editor setting
+ using a faster hash method on the FontForSizeAdvanced cache
+ SafeFlag for ShapedTextDataAdvanced::valid
2024-08-28 13:01:11 -07:00
DeeJayLSP
7e49c26729 MP3: Use heap for big struct when setting data 2024-08-28 16:47:32 -03:00
Alula
346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
Rémi Verschelde
40b378e9e2
Merge pull request #96235 from bruvzg/win_open_dll
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
[Windows] Fix OS.open_dynamic_library
2024-08-28 19:54:51 +02:00
bruvzg
d528f28275 [Windows] Fix OS.open_dynamic_library 2024-08-28 20:12:09 +03:00
Danil Alexeev
c1322d41e6
GDScript: Replace assert() with Utils.check() in tests 2024-08-28 17:41:52 +03:00
Nikita\Nick
ebb5a5cc3d [RegEx] Add show_error parameter to control error printing on compilation fail 2024-08-28 15:35:42 +03:00
Rémi Verschelde
4e051ff6f7
Merge pull request #78178 from dalexeev/gds-add-non-tool-extends-tool-error
GDScript: Add warning if non-`@tool` class extends `@tool` class
2024-08-28 13:14:13 +02:00
Rémi Verschelde
6eb1d3cf98
Merge pull request #94888 from rune-scape/no-const-cast-gdscript-parser
GDScriptParser: Avoid `const_cast` of `AnnotationNode`
2024-08-28 00:12:35 +02:00
Rémi Verschelde
e98aaf1caa
Merge pull request #94477 from RedMser/typos-batch-1
Fix various typos
2024-08-28 00:12:12 +02:00
Rémi Verschelde
9f70823eec
Merge pull request #94012 from KoBeWi/reload_everything_to_update_one_line
Allow live reloading of built-in scripts
2024-08-28 00:11:53 +02:00
Aaron Franke
9dd71c6414
ResourceImporterScene: Replace animation bool with an import type string enum 2024-08-27 14:58:18 -07:00
Rémi Verschelde
6e3320446a
Merge pull request #92799 from BlueCube3310/image-detech-signed
Image: Add a method for detecting signed values
2024-08-27 22:27:18 +02:00
Pawel Lampe
c3f1bfd5cb Extract navigation-related defaults to separate header 2024-08-27 20:12:10 +02:00
Rémi Verschelde
e6f94443ba
Merge pull request #96172 from Faless/fix/tls_unsafe_pin
[mbedTLS] Fix incorrect cert pinning with `client_unsafe`
2024-08-27 17:52:44 +02:00
Rémi Verschelde
3eba191c9e
Merge pull request #96160 from HolonProduction/dict-fix
Autocompletion: Enable string literal completion in subscripts
2024-08-27 16:55:31 +02:00
Rémi Verschelde
93f241bcd2
Merge pull request #96133 from aaronfranke/gltf-imp-mesh-inst-create
GLTF: Only create MeshInstance3D when needed
2024-08-27 16:55:15 +02:00
Rémi Verschelde
9dfc41568a
Merge pull request #95984 from timothyqiu/what-identifier
Add `String.is_valid_unicode_identifier()`
2024-08-27 16:55:06 +02:00
Rémi Verschelde
c2daec1769
Merge pull request #95156 from BastiaanOlij/add_openxr_debug_utils
Add support for the debug utils extension in OpenXR
2024-08-27 16:54:54 +02:00
Aaron Franke
263f089040
GLTF: Only create MeshInstance3D when needed 2024-08-27 04:23:20 -07:00
Fabio Alessandrelli
ccae47ab66 [mbedTLS] Fix incorrect cert pinning with client_unsafe 2024-08-27 13:10:09 +02:00
HolonProduction
c824403853 Autocompletion: enable string literal completion in subscripts 2024-08-27 13:02:09 +02:00
Danil Alexeev
2d8f6c1b1d
GDScript: Fix message when calling non-tool function in tool mode 2024-08-27 12:30:15 +03:00
BlueCube3310
76c8211653 Image: Add a method for detecting signed values 2024-08-27 09:23:17 +02:00
Haoyu Qiu
8bf4ecc026 Add String.is_valid_unicode_identifier()
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Bastiaan Olij
08ffa5d89e Add support for the debug utils extension in OpenXR 2024-08-27 12:07:01 +10:00
Rémi Verschelde
8c0209fe33
Merge pull request #95860 from Goutte/doc-upnp-update-to-latest-gdscript
Docs: Update UPnP GDScript snippet to using `Signal.emit` syntax
2024-08-26 23:29:06 +02:00
Rémi Verschelde
4a798ad85d
Merge pull request #95749 from Mickeon/documentation-example-pruning
Remove empty `[b]Example:[/b]` lines from the class reference
2024-08-26 23:29:00 +02:00
Rémi Verschelde
056bc6f279
Merge pull request #92540 from BlueCube3310/layered-texture-info
Improve layered texture preview
2024-08-26 23:28:19 +02:00
Rémi Verschelde
86139f682e
Merge pull request #96117 from SaracenOne/silence_fbx_warning
Fix owner warning when importing FBX.
2024-08-26 22:46:05 +02:00
Rémi Verschelde
2c14f3ef95
Merge pull request #79378 from HolonProduction/autocompletion-index
Improve autocompletion for indices
2024-08-26 22:44:40 +02:00
Saracen
7050e581ff Fix owner warning when importing FBX. 2024-08-26 14:51:49 +01:00
HolonProduction
ccbdb34a2a Improve autocompletion for indices 2024-08-26 14:42:22 +02:00
Rémi Verschelde
0ba0be27c7
Merge pull request #94169 from RandomShaper/wtp_rl_prize
Batch of fixes for `WorkerThreadPool` and `ResourceLoader`
2024-08-26 10:51:25 +02:00
Rémi Verschelde
b4f268fae8
Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-26 10:51:17 +02:00
Rémi Verschelde
fe15f47e22
Merge pull request #95929 from BastiaanOlij/openxr_fix_tracking_bit
OpenXR: Check correct status bit for hand tracking
2024-08-25 22:24:21 +02:00
Rémi Verschelde
887d56721d
Merge pull request #95959 from dsnopek/openxr-api-hand-tracker-crash
Fix crash when calling `OpenXRAPI::get_hand_tracker()` and hand-tracking is disabled
2024-08-25 20:18:28 +02:00
Rémi Verschelde
68d188d521
Merge pull request #95888 from clayjohn/Lightmap-SH-coefficients
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
2024-08-25 20:18:18 +02:00
DeeJayLSP
b3265497c7 MP3: Remove unnecessary memory allocation 2024-08-23 00:58:07 -03:00
David Snopek
11dd1f52ae Fix crash when calling OpenXRAPI::get_hand_tracker() and hand-tracking is disabled 2024-08-22 13:03:05 -05:00
Bastiaan Olij
1925d1e6f9 OpenXR: Check correct status bit for hand tracking 2024-08-22 11:57:56 +10:00
Goutte
a014705d64 docs: update UPnP gdscript snippet to latest gdscript
This commit adds usage of the new (stringless) signal API.
2024-08-22 00:49:52 +02:00
Rémi Verschelde
568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Rémi Verschelde
37ae2a2900
Merge pull request #95921 from akien-mga/scons-validate-opt-in-drivers
SCons: Better validation for platform-specific opt-in drivers
2024-08-22 00:10:56 +02:00
Rémi Verschelde
39b77ea04e
Merge pull request #95790 from aaronfranke/rect-aabb-support
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +02:00
Matias N. Goldberg
364f916f3f
Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
Rémi Verschelde
6e9bcc0f18
SCons: Better validation for platform-specific opt-in drivers
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +02:00
clayjohn
f4ccba7508 Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases
2024-08-21 10:24:32 -07:00
Pedro J. Estébanez
f4d76853b9 WorkerThreadPool (plus friends): Overhaul unlock allowance zones
This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.
2024-08-21 12:22:52 +02:00
Rémi Verschelde
3b3d6226c5
Merge pull request #95828 from clayjohn/Lightmapper-AA-direct-light
Antialias direct light samples in LightmapperRD
2024-08-21 07:23:05 +02:00
Rémi Verschelde
4b8946102b
Merge pull request #91535 from BlueCube3310/betsy-bc6h
Add Betsy to speed up BC6 compression
2024-08-21 06:38:03 +02:00
Daylily-Zeleen
3d575801ce Allow ClassDB to create a Object without postinitialization for GDExtension. 2024-08-20 20:19:02 +08:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
Stuart Carnie
41875d8aef
macOS/iOS: Fix various warnings when targeting newer SDKs 2024-08-20 11:55:21 +02:00
Rémi Verschelde
d9e458515b
Merge pull request #91750 from BastiaanOlij/openxr_visibility_mask
OpenXR: Add support for visibility mask
2024-08-20 11:03:54 +02:00
Rémi Verschelde
73d42411f0
Merge pull request #95808 from paulloz/bugfix/dotnet-globalclass-icon-relative-paths
Fix relative paths for global class icons in C#
2024-08-20 10:02:47 +02:00
Rémi Verschelde
f45421204c
Merge pull request #95764 from passivestar/gdscript-syntax-highlighter
Expose GDScript syntax highlighter to editor plugins
2024-08-20 10:02:35 +02:00
Rémi Verschelde
c359a8e9ca
Merge pull request #95757 from BlueCube3310/cvtt-float
CVTT: Include float formats for hdr compression
2024-08-20 10:02:23 +02:00
Rémi Verschelde
65c6897e55
Merge pull request #95269 from raulsntos/dotnet/determinant
C#: Expose `Transform2D.Determinant()`
2024-08-20 10:02:07 +02:00
Rémi Verschelde
a700b2a4a2
Merge pull request #95153 from BastiaanOlij/improve_hand_tracking_settings
Change hand tracking project settings and finetune `show_when_tracked`
2024-08-20 10:02:01 +02:00
Rémi Verschelde
58505b0bce
Merge pull request #94082 from HolonProduction/completion-force
Autocompletion: Rework argument options string literal completion
2024-08-20 10:01:52 +02:00
Aaron Franke
7db24a9ad5
Simplify and fix Rect2/AABB get_support function 2024-08-19 23:55:31 -07:00
Bastiaan Olij
a8c5117777 Change hand tracking project settings and finetune show_when_tracked 2024-08-20 11:12:52 +10:00
clayjohn
1521e49c23 Antialias direct light samples in LightmapperRD
Additionally use Vogel disk to enhance soft shadow quality.
2024-08-19 17:54:55 -07:00
Bastiaan Olij
d9ab2c3195 OpenXR: Add support for visibility mask 2024-08-20 10:47:17 +10:00
Paul Joannon
3c0eaec39f
Fix relative paths for global class icons in C# 2024-08-19 18:09:58 +02:00
Rémi Verschelde
ce1ba7328f
Merge pull request #94934 from Hilderin/fix-no-validation-blender-path-on-import
Fix no validation on Blender path on import
2024-08-19 16:05:26 +02:00
Rémi Verschelde
0274508647
Merge pull request #93498 from smix8/connection_relocation
Move NavRegion connections to NavMap
2024-08-19 16:05:05 +02:00
Rémi Verschelde
b39df869c7
Merge pull request #93252 from smix8/csg_bake
Add CSG options to bake to static mesh and collision shape
2024-08-19 16:04:59 +02:00
Rémi Verschelde
da57bab169
Merge pull request #92560 from smix8/navmesh2d_bake_partition
Add triangulation partition option to 2D navigation mesh baking
2024-08-19 16:04:49 +02:00
Gustavo Jaruga Cruz
4fa6287de1 Fix interactive audio transitions fade in for clips with auto_advance 2024-08-19 10:54:15 -03:00
passivestar
3fe644de86 Expose GDScript syntax highlighter to editor plugins 2024-08-19 16:36:55 +04:00
Rémi Verschelde
745cc6e438
Merge pull request #95780 from Mickeon/documentation-gdscript-some-invalid-code
Fix some invalid code in GDScript class reference
2024-08-19 14:34:30 +02:00
Rémi Verschelde
3e1b61d808
Merge pull request #95121 from aaronfranke/gltf-root-prop-owner
GLTF: Propagate owner for root node children
2024-08-19 14:34:04 +02:00
Rémi Verschelde
3647bc33cd
Merge pull request #93172 from raulsntos/dotnet/clear-instance-bindings
C#: Clear instance bindings callbacks on finalizing the language
2024-08-19 14:33:36 +02:00
Rémi Verschelde
3a4e0f1741
Merge pull request #87735 from ywmaa/blend_file_geometrynodes_instances
Add Option for Export Geometry Nodes Instances in blend importer
2024-08-19 14:33:21 +02:00
Rémi Verschelde
40f938c44d
Merge pull request #86538 from jsjtxietian/fix-shape-thread-error
Fix CSGShape3D's `_mesh_changed` to be thread safe
2024-08-19 14:33:16 +02:00
ywmaa
c460f1de24
Add Option for Export Geometry Nodes Instances in blend importer 2024-08-19 12:23:21 +02:00
Rémi Verschelde
1ac1d03857
Merge pull request #95676 from raulsntos/dotnet/clear-owner-order
C#: Destroy script before clearing owner
2024-08-19 12:09:15 +02:00
Rémi Verschelde
6c76be2389
Merge pull request #95658 from akien-mga/openxr-fix-system-package
OpenXR: Fix support for building against distro package
2024-08-19 12:09:06 +02:00
Rémi Verschelde
63f4186f97
Merge pull request #95253 from Kimau/claire/logitech
OpenXR - Add Logitech Mx Ink Stylus Support
2024-08-19 12:09:01 +02:00
Micky
4ce5856384 Remove empty [b]Example:[/b] lines from the class reference 2024-08-19 01:00:52 +02:00
Micky
e80c44dbe7 Fix some invalid code in GDScript class reference 2024-08-19 00:55:51 +02:00
BlueCube3310
4b266871d7 CVTT: Include float formats for hdr compression 2024-08-18 17:31:05 +02:00
BlueCube3310
394ea653aa Add Betsy to speed up BC6 compression 2024-08-18 11:14:05 +02:00
Raul Santos
c2efbf3012
C#: Use Godot's LipO implementation instead of Xcode's lipo command 2024-08-17 17:52:35 +02:00
Raul Santos
5e7fda8de7
C#: Destroy script before clearing owner
The C# script destructor needs to access the owner (i.e.: to disconnect signals) so we now clear it after the script has been destroyed.
2024-08-17 04:04:57 +02:00
Rémi Verschelde
5cb01a0e09
Merge pull request #95227 from BastiaanOlij/openxr_1_1_38
Update OpenXR thirdparty library to 1.1.38
2024-08-17 00:46:27 +02:00
Rémi Verschelde
4bd33df11e
Merge pull request #94766 from Z0rb14n/fix-vector3-slerp
C#: Fix Vector3 `Slerp` normalization error
2024-08-16 23:45:34 +02:00
Rémi Verschelde
0d0eb71694
Merge pull request #94599 from juanjp600/node-array-export-diagnostic
C#: Fix GD0107 not applying to arrays and dictionaries containing nodes
2024-08-16 23:45:26 +02:00
Rémi Verschelde
dbf4be308c
Merge pull request #93583 from smix8/obstacle_monitor
Add navigation obstacles to performance monitor stats
2024-08-16 23:45:10 +02:00
Rémi Verschelde
2206f5c6a4
OpenXR: Fix support for building against distro package 2024-08-16 22:51:09 +02:00
BlueCube3310
e0f30d30e2 Improve layered texture preview 2024-08-16 18:20:55 +02:00
BlueCube3310
2eb1f069d2 Add support for loading less common DDS formats 2024-08-16 15:35:20 +02:00
Rémi Verschelde
ec74e14943
Merge pull request #95603 from tetrapod00/gltf-capitalization-errors
Fix glTF capitalization in error messages
2024-08-16 14:36:33 +02:00
Rémi Verschelde
4d3157c0f2
Merge pull request #95578 from tetrapod00/gltf-capitalization-classref
Fix glTF capitalization in class reference
2024-08-16 14:36:26 +02:00
Rémi Verschelde
f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde
0f9925c0f9
Merge pull request #95542 from KoBeWi/go_bind_yourself
Remove empty `bind_methods()`
2024-08-16 14:35:51 +02:00
Rémi Verschelde
c98d549e65
Merge pull request #95431 from Joy-less/Fix-#10418
C#: Add `NotNullWhenAttribute` to `IsInstanceValid`
2024-08-16 14:34:30 +02:00
Rémi Verschelde
1685ce3256
Merge pull request #95426 from Jordyfel/spawner-doc
Fix typo or unclear language in MultiplayerSpawner doc
2024-08-16 14:34:22 +02:00
Rémi Verschelde
751d285f3f
Merge pull request #95417 from bruvzg/win_dll_exports
Remove unnecessary DLL export attributes.
2024-08-16 14:34:08 +02:00
Rémi Verschelde
cc894e59ea
Merge pull request #95408 from alesliehughes/gdscitp_debug_statement
GDScript: Only include profiling variables when DEBUG is enabled
2024-08-16 14:34:01 +02:00
Rémi Verschelde
9393388940
Merge pull request #95322 from Nodragem/fix-pasting-in-gridmap
Fix copy-paste and cut-paste in GridMap
2024-08-16 14:33:31 +02:00
Rémi Verschelde
0bf8bee544
Merge pull request #94693 from jonatanrojderd/master
[C#] Change the `VisualShaderNodeCustom` template to use the correct override types and signatures
2024-08-16 14:32:20 +02:00
Rémi Verschelde
7865266f24
Merge pull request #94609 from bruvzg/pixel_font_detect
[Font Import] Detect pixel fonts and disable subpixel positioning.
2024-08-16 14:32:14 +02:00
Rémi Verschelde
86df981cdc
Merge pull request #89567 from BlueCube3310/etcpak-cleanup
etcpak: Improve image padding and clean up the code
2024-08-16 14:31:53 +02:00
Rémi Verschelde
ae9fb96a36
Merge pull request #95433 from dsnopek/openxr-composition-layers-srgb
OpenGL: Unconditionally do `glDisable(GL_FRAMEBUFFER_SRGB)` because we do our own sRGB conversion
2024-08-16 10:35:56 +02:00
Rémi Verschelde
886d5865a4
Merge pull request #95291 from BlueCube3310/hdr-optimizations
Optimize .hdr loading and RGB9E5 conversion
2024-08-16 10:35:32 +02:00
Jonatan Röjder Delnavaz
74389e8395 * Changed the VisualShaderNodeCustom template to use the correct overrides and added the GlobalClass attribute 2024-08-16 07:26:53 +02:00
tetrapod00
3b1345c26e Change capitalization of glTF in errors and comments. 2024-08-15 18:07:30 -07:00
tetrapod00
012ce1eaff Fix glTF capitalization in class reference 2024-08-15 10:41:47 -07:00
Rémi Verschelde
c2a4942850
Bump version to 4.4-dev
Mr. Godot still didn't show up...
2024-08-15 11:39:34 +02:00
Haoyu Qiu
7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
kobewi
065dd099dd Remove empty bind_methods() 2024-08-15 08:24:32 +02:00
kleonc
4f11a0a987 Support importing 1/2/4-bpp BMP images of size non-divisible by 8/4/2 2024-08-13 14:26:21 +02:00
David Snopek
dfcff4ef46 OpenGL: Unconditionally do glDisable(GL_FRAMEBUFFER_SRGB) because we do our own sRGB conversion 2024-08-12 12:40:38 -05:00
Joyless
3d43e73181 Add NotNullWhenAttribute to IsInstanceValid 2024-08-12 16:44:09 +01:00
Jordyfel
8c626f23c1 Fix typo in MultiplayerSpawner doc 2024-08-12 14:57:02 +03:00
bruvzg
3156856aa1 Remove unnecessary DLL export attributes. 2024-08-12 09:53:05 +03:00
Alistair Leslie-Hughes
f489c313cc gdscript: Only include profiling variables when DEBUG is enabled 2024-08-12 10:14:42 +10:00
Hilderin
d199f1f0d5 Fix resolve class inheritance after file rename 2024-08-10 19:21:24 -04:00
BlueCube3310
80cf6cbfe9 Optimize .hdr loading and RGB9E5 conversion 2024-08-09 22:39:30 +02:00
Nodragem
e7e633760a prevent the click to get processed further after a paste action 2024-08-09 10:39:25 +01:00
Claire Blackshaw
19c7afee07 OpenXR - Support for the Logitech MxInk Stylus
In future work we may want to expose an isStylus or similar for
XR Trackers, though that is likely outside the scope of this commit
which is the core extension work.

Vendor Ref: https://logitech.github.io/mxink/OpenXR.html
2024-08-08 11:09:29 +01:00
Rémi Verschelde
03afb92efa
Merge pull request #95194 from Faless/mp/fix_relay_negative_target
[MP] Fix relay protocol routing with negative targets
2024-08-08 10:16:31 +02:00
Raul Santos
262671c644
C#: Expose Transform2D.Determinant() 2024-08-08 06:31:46 +02:00
Rémi Verschelde
da9f943330
Merge pull request #95134 from Calinou/audio-interactive-transition-editor-expand-columns
Expand columns in the audio interactive transition editor
2024-08-07 23:47:00 +02:00
Fabio Alessandrelli
7f610a2c6e [WS] Fix set_no_delay on Windows
Windows socket implementation is, as usual, broken in many ways.

This includes `setsockopt` failing to set `TCP_NODELAY` if the socket is
still in a connecting state.

This also means we need to keep polling the IP resolver until the socket
reaches the CONNECTED state (so it can set the TCP_NODELAY after the
connection is successful).
2024-08-07 09:47:00 +02:00
Bastiaan Olij
1371b35b6e Update OpenXR thirdparty library to 1.1.38, changed OpenXR init to stay on 1.0.x 2024-08-07 13:58:05 +10:00
Dommi
aebcd699fe Fixed undo not updating spawn checkbox in replication editor
When pressing undo the value was set to the same as it was before in the ui. It was saved correctly in the config but not updated in the editor.
2024-08-06 15:50:48 +02:00
Fabio Alessandrelli
c5fa7354bb [MP] Fix relay protocol routing with negative targets
Godot supports sending messages to "all but one peer" by sending a
packet with a negative target (the negated ID of the excluded peer).

The relay protocol was incorrectly interpreting the values and relaying
the message to the wrong peers.

This issue only affected "send_bytes" since the other subsystem (RPC
and replication) "resolves" the correct IDs client-side (to match
visibility information).
2024-08-06 13:21:47 +02:00
Rémi Verschelde
4359c28fea
Merge pull request #95192 from Faless/mp/quite_relay_to_disconnected
[MP] Avoid error spam in relay protocol when clients disconnect
2024-08-06 12:32:27 +02:00
Rémi Verschelde
79ae9524ef
Merge pull request #95115 from rune-scape/fix-invalidated-parser
GDScript: Fix unnecessary calls to `remove_parser`
2024-08-06 12:31:53 +02:00
Fabio Alessandrelli
531c72f30d [MP] Avoid error spam in relay protocol when clients disconnect
When multiple clients are connected, and the server is using the relay
sub-protocol, it might happen that a client disconnects while a packet
sent to it from another peer is still in transit.

In that case, when the packet reaches the server for relaying, it used
to generate an error (as the destination client did no longer exists).

This commit changes check to suppress the error message while still
skipping the packet.
2024-08-06 09:51:28 +02:00
smix8
110b2dc61a Add triangulation partition option to 2D navigation mesh baking
Adds triangulation partition option to 2D navigation mesh baking as an alternative to the existing convex partition option.
2024-08-05 00:08:46 +02:00
Hugo Locurcio
ab6b00d102
Expand columns in the audio interactive transition editor
This prevents columns from being unusably narrow,
especially on hiDPI displays.
2024-08-04 17:24:31 +02:00
Aaron Franke
246cc7e86d
GLTF: Propagate owner for root node children 2024-08-04 02:28:01 -07:00
rune-scape
e680369d5b GDScript: Fix too many calls to 'remove_parser'
+fix excessive memory allocations when 'load'ing many dependant scripts
+fix excessive calls to vformat
2024-08-03 20:52:44 -07:00
Haoyu Qiu
7cf9ed5f65 Fix several typos in the documentation 2024-08-02 08:42:20 +08:00
Rémi Verschelde
3978628c6c
Merge pull request #94994 from dsnopek/mobilevr-interface-docs-use-xr
Fix type-o in `MobileVRInterface` sample code in docs: `xr` -> `use_xr`
2024-08-01 00:06:47 +02:00
Rémi Verschelde
2add44c0dc
Merge pull request #94168 from Faless/net/wsl_peer_reuse
[WebSocket] Allow reusing closing and closed peers
2024-08-01 00:06:26 +02:00
David Snopek
24b7d973fa Fix type-o in MobileVRInterface sample code in docs: xr -> use_xr 2024-07-31 16:36:44 -05:00
Rémi Verschelde
019cf2b40c
Merge pull request #94984 from Faless/mp/fix_safer_cache_cleanup
[MP] Partially revert cache cleanup, track paths as fallback
2024-07-31 22:33:07 +02:00
Rémi Verschelde
8460a72f94
Merge pull request #94871 from rune-scape/fix-mismatched-parsers2
GDScript: Fix common mismatched external parser errors (second try)
2024-07-31 22:33:03 +02:00
Rémi Verschelde
9559330187
Merge pull request #91011 from Faless/mp/fix_disconnect_on_change
[MP] Fix `disconnect_peer` not doing the proper cleanup
2024-07-31 22:32:55 +02:00
rune-scape
6e8fa6dd50 GDScript: Fix common mismatched external parser errors 2024-07-31 12:54:16 -07:00
Fabio Alessandrelli
90d5d26026 [MP] Partially revert cache cleanup, track paths as fallback
Cleaning up remote NodePath cache is not trivial since the visibility
API allows for certain nodes to be despawned (and re-spawned) on some
peers while being retained in the authority.

This means that from the server point of view, the node has not changed,
and the path simplification protocol won't be run again after
respawning.

While we can track this information for synchronizers via the
replication API, we can't easily track this information for potential
child nodes that use RPCs (I'm convinced it is doable, but we need to
track the whole dependency tree which would require some more complex
refactoring).

This commit partially reverts some of the cache cleanup logic to always
retain remote IDs, and adds a NodePath lookup fallback when the ObjectID
is invalid.
2024-07-31 19:32:32 +02:00
Hilderin
2dc9cf50c5 Fix no validation on Blender path on importation 2024-07-30 17:30:11 -04:00
Raul Santos
f3841d644e
C#: Generate signal delegates with typed arrays
Signals with typed arrays were generating C# delegates with untyped arrays.
2024-07-30 18:39:03 +02:00
bruvzg
fdeea4ac33
Enable ASTC encoder build when building with ANGLE. 2024-07-30 12:28:04 +03:00
jsjtxietian
5e4dafb0d9 Fix CSGShape3D's _mesh_changed thread unsafe call to update_gizmos 2024-07-30 10:57:28 +08:00
raging-loon
344ff6fe83
Fix browse_dialog in Blender scene importer to accept files
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-07-29 11:38:24 +02:00
rune-scape
22f43b7879 Avoid const_cast in GDScriptParser 2024-07-28 08:04:25 -07:00
Max
beaf2b18ce
Fix doc on Vector2.cs's / operator 2024-07-27 14:49:20 -07:00
Z0rb14n
0d6e9de0b9
Fix Vector3 Slerp Normalizing Zero Vectors
Ported the existing zero length check in C++ into C#.
2024-07-26 09:04:54 -07:00
Rémi Verschelde
b2facc018a
Merge pull request #94730 from dalexeev/gds-fix-while-locals-clearing
GDScript: Fix locals clearing after exiting `while` block
2024-07-26 13:44:09 +02:00
Rémi Verschelde
7805220fef
Merge pull request #90134 from AThousandShips/construct_fix
[Core] Fix `Variant::construct` of `Object`
2024-07-26 13:43:54 +02:00
Rémi Verschelde
2a61a2fa2f
Merge pull request #89274 from 0x0ACB/unchecked_cast
Fix use after free in `GDScriptLanguage::debug_get_globals`
2024-07-26 13:43:48 +02:00
BlueCube3310
00f662c07f Improve etcpak image padding and clean up the code 2024-07-26 13:27:20 +02:00
Silc 'Tokage' Renew
0235086c14 Add validation to glTF importer for Blendshape and Animation 2024-07-26 18:05:34 +09:00
A Thousand Ships
8f3e2c96eb
[Core] Fix Variant::construct of Object
Variant type was not updated correctly causing leaks in ref-counted
2024-07-25 12:25:29 +02:00
Danil Alexeev
5350e1beaa
GDScript: Fix locals clearing after exiting while block 2024-07-25 12:10:37 +03:00
Rémi Verschelde
f2918c73cf
Revert "GDScript: Fix common mismatched external parser errors"
This reverts commit c75225ffb2.

This caused a crashing regression for multiple users:
https://github.com/godotengine/godot/pull/94617#issuecomment-2247868580
2024-07-25 09:20:23 +02:00
Rémi Verschelde
022d702bc0
Merge pull request #94678 from rune-scape/clear-abandoned-parser-refs
GDScriptCache: Clear abandoned parser refs
2024-07-24 13:03:27 +02:00
Rémi Verschelde
77e18da5ff
Merge pull request #94674 from dalexeev/gds-fix-incorrect-setter-call-for-ref-types
GDScript: Fix incorrect setter call for reference types
2024-07-24 10:17:45 +02:00
Rémi Verschelde
d342df79d5
Merge pull request #94676 from rune-scape/test-oops
GDScriptTestRunner: Fix compiler error output
2024-07-24 09:59:34 +02:00
Rémi Verschelde
f361133601
Merge pull request #94664 from dalexeev/gds-fix-make-arguments-hint
GDScript: Fix incorrect default values ​​in `_make_arguments_hint()`
2024-07-24 09:59:28 +02:00
Rémi Verschelde
e91725f490
Merge pull request #94617 from rune-scape/fix-mismatched-parsers
GDScript: Fix common mismatched external parser errors
2024-07-24 09:59:19 +02:00
Rémi Verschelde
7708f0e163
Merge pull request #85382 from HolonProduction/in-case-of-a-script
GDScript: Generate `arghint` for script types
2024-07-24 09:59:08 +02:00
Danil Alexeev
8c82fd15d2
GDScript: Fix incorrect setter call for reference types 2024-07-24 10:37:35 +03:00
Juan Pablo Arce
8aa444d212 Fix GD0107 not applying to arrays and dictionaries containing nodes 2024-07-24 02:20:29 -03:00
rune-scape
298904d74e GDScriptTestRunner: Fix compiler error output 2024-07-23 12:59:22 -07:00
rune-scape
86b23d0420 GDScriptCache: Clear abandoned parser refs 2024-07-23 12:54:45 -07:00
rune-scape
c75225ffb2 GDScript: Fix common mismatched external parser errors 2024-07-23 12:25:23 -07:00
bruvzg
32bc1c2f33
[Font Import] Detect pixel fonts and disable subpixel positioning. 2024-07-23 20:34:39 +03:00
Danil Alexeev
37a3a98fde
GDScript: Fix incorrect default values ​​in _make_arguments_hint() 2024-07-23 19:35:42 +03:00
Danil Alexeev
638148a184
GDScript: Fix false positive cases of ENUM_VARIABLE_WITHOUT_DEFAULT 2024-07-22 21:45:01 +03:00
Rémi Verschelde
9d8c2c9b25
Merge pull request #94618 from Faless/ws/fix_no_delay
[WebSocket] Ensure `TCP_NODELAY` is always set
2024-07-22 15:41:14 +02:00
Fabio Alessandrelli
d65e7aab76 [WebSocket] Ensure TCP_NODELAY is always set
Almost all WebSocket implementations (including all major browsers)
disable Nagle's algorithm to favor low latency over packet overhead.

This was also the case in Godot 3.x, while in Godot 4.0 this was only
being done for clients and wasn't even always working due to a bug.

This commit fixes the aforementioned bug, and forces TCP_NODELAY when
accepting a stream as a server.
2024-07-22 14:40:19 +02:00
Rémi Verschelde
7bcb447c66
Merge pull request #94598 from BlueCube3310/img-64bit-compress
Support 64-bit image sizes for VRAM compression
2024-07-22 14:13:15 +02:00
Rémi Verschelde
4be1529049
Merge pull request #94550 from dsnopek/openxr-passthrough-project-settings
OpenXR: Fix enabling passthrough via environment blend mode in project settings
2024-07-22 14:12:56 +02:00
Rémi Verschelde
f640ba6f2c
Merge pull request #94514 from adamscott/fix-new-stream-types-playing
Fix new stream types `mix()` not returning 0 when inactive
2024-07-22 14:12:54 +02:00
BlueCube3310
0ed45629fd Support 64-bit image sizes for VRAM compression 2024-07-21 21:06:14 +02:00
David Snopek
22a6303fa0 OpenXR: Fix enabling passthrough via environment blend mode in project settings 2024-07-19 19:04:51 -05:00
Hugo Locurcio
0445ccf428
Fix Image CowData crash when baking large lightmaps
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.

VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +02:00
Adam Scott
b22783b9b3
Fix new stream types mix() not returning 0 when inactive 2024-07-18 11:18:38 -04:00
Rémi Verschelde
ff8a2780ee
Merge pull request #94506 from Jordyfel/handle-gltf-bin-missing
Fix handling of missing bin file in gltf separate
2024-07-18 15:38:32 +02:00
Rémi Verschelde
60966f5bcf
Merge pull request #94505 from mihe/speed-up-gdscript-shutdown
Speed up `GDScriptLanguage::finish`
2024-07-18 15:38:29 +02:00
Rémi Verschelde
fefd9537e6
Merge pull request #94424 from HolonProduction/completion-fix-depended-parsers
Autocompletion: Register depended parsers with the main parser
2024-07-18 15:38:20 +02:00
Rémi Verschelde
1e81a946cc
Merge pull request #94412 from dsnopek/xr-always-render
Always render when XR is enabled, even if no OS windows can draw
2024-07-18 15:38:14 +02:00
Jordyfel
416e63ae35 Fix handling of missing bin file in gltf separate 2024-07-18 14:04:16 +03:00
Mikael Hermansson
6852f9497c Speed up GDScriptLanguage::finish 2024-07-18 12:30:45 +02:00
HolonProduction
4699e69708 Autocompletion: register depended parsers with the main parser 2024-07-18 12:16:28 +02:00
Rémi Verschelde
43902f43d5
Merge pull request #94237 from BlueCube3310/lightmap-atlas-loop-fix-always
Lightmapper: Prevent infinite loop while blitting lightmaps into an atlas
2024-07-18 10:45:33 +02:00
A Thousand Ships
be652f160d
[Audio] Prevent crash in interactive playback 2024-07-17 18:58:36 +02:00
RedMser
f9258ff928 Fix typos 2024-07-17 18:53:03 +02:00
David Snopek
7a5a8597eb Always render when XR is enabled, even if no OS windows can draw 2024-07-17 08:19:21 -05:00
Rémi Verschelde
f4942b7350
Merge pull request #94457 from BastiaanOlij/fix_load_action_map
Fix creating default action map
2024-07-17 12:52:54 +02:00
Rémi Verschelde
c2b91e2986
Merge pull request #94327 from HolonProduction/underscore_identifier
GDScript: Restore support for `Token::UNDERSCORE` in identifiers
2024-07-17 11:44:01 +02:00
Rémi Verschelde
ab67408390
Merge pull request #94238 from RandomShaper/ref_is_now_rc
Make errors on `RefCounted.free()` more accurate
2024-07-17 11:43:32 +02:00
Rémi Verschelde
5c2bc6ec96
Merge pull request #94236 from BlueCube3310/lightmap-pad-loop-fix
Lightmapper: Ensure the atlas is big enough to fit padded UV maps
2024-07-17 11:43:28 +02:00
Rémi Verschelde
aefd91ae42
Merge pull request #94138 from vnen/gdscript-simple-setter-chain-call-setter
GDScript: Call setter on simple setter chain without getter
2024-07-17 11:43:15 +02:00
Rémi Verschelde
2380ed5e1b
Merge pull request #94058 from Hilderin/fix-scene-project-importation-settings
Fix missing options in Project Import Defaults
2024-07-17 11:42:59 +02:00
Rémi Verschelde
db95973d63
Merge pull request #93987 from marcospb19/improve-enet-connection-docs
Clarify that `ENetConnection`'s `create_host` and `service` must be called on client and server
2024-07-17 11:42:48 +02:00