Commit Graph

10862 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Bastiaan Olij 9e658e29d2 Fixed creating default action map 2024-07-17 12:04:06 +10:00
HolonProduction 06e732c3ed GDScript: Restore support for `Token::UNDERSCORE` in identifiers 2024-07-15 10:04:11 +02:00
Pedro J. Estébanez 76bfe8e0fd Make errors on RefCounted.free() more accurate 2024-07-15 08:51:42 +02:00