Commit graph

10973 commits

Author SHA1 Message Date
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
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
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
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
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
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