Commit Graph

10927 Commits

Author SHA1 Message Date
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
bruvzg fdeea4ac33
Enable ASTC encoder build when building with ANGLE. 2024-07-30 12:28:04 +03: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
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
BlueCube3310 60a255a0d0 Lightmapper: Prevent infinite loop when blitting lightmaps into an atlas 2024-07-13 13:10:04 +02:00
HolonProduction 402bdfa3b7 Generate `arghint` for script types 2024-07-13 10:47:26 +02:00
Rémi Verschelde b6434f2ac7
Merge pull request #94158 from BastiaanOlij/fix_action_map
OpenXR: Couple of small fixes on the action map
2024-07-11 23:16:51 +02:00
BlueCube3310 14877d1f99 Lightmapper: Ensure the atlas is big enough to fit padded UV maps 2024-07-11 23:16:31 +02:00
Bastiaan Olij 95b72631aa Couple of small fixes on the action map: now saves when CTRL-S is pressed/project is run, no longer looses content if OpenXR is not enabled, and a small documentation fix. 2024-07-11 20:06:46 +10:00
Rémi Verschelde fe5d567917
Merge pull request #93942 from MikeSchulze/73525
Fix GDScript analyzer error when instantiating EditorPlugins.
2024-07-11 09:41:09 +02:00
João Marcos P. Bezerra 4bf37c8ed2 Clarify that `ENetConnection`'s `create_host[_bound]` and `service` must be called on client and server 2024-07-10 22:40:55 -03:00
Rémi Verschelde c5ca288771
Merge pull request #94121 from BastiaanOlij/remove_render_thread_guard
Remove our `ERR_ON_RENDER_THREAD` guard, it is not reliable
2024-07-11 00:27:21 +02:00
Fabio Alessandrelli acba901087 [WebSocket] Allow reusing closing and closed peers 2024-07-10 12:56:40 +02:00
baptr 810fcc7431 Fix gdscript analyzer error when instantiating EditorPlugins.
Editor code is not instantiable outside of the editor
(1d14c054a1/core/object/class_db.cpp (L369)).
This is fine for editor plugins and the like, but the GDScript analyzer
balks at it, causing F5 runs to fail: #73525.

Instead, we really just want to know if the type is abstract - so add
a new ClassDB method to check that and nothing else.

Update core/object/class_db.cpp

Apply code review comments

Co-Authored-By: Bryce <1522777+baptr@users.noreply.github.com>
2024-07-10 10:24:57 +02:00
George Marques 87c90a573c
GDScript: Call setter on simple setter chain without getter
Fixes a bug where a member variable was being set directly before
calling the setter.
2024-07-09 13:01:59 -03:00
Rémi Verschelde 26d1577f39
Merge pull request #94131 from dalexeev/gds-fix-mismatched-parser-autoloads
GDScript: Fix "Mismatched external parser" for autoloads
2024-07-09 16:47:32 +02:00
Rémi Verschelde 92320c9b73
Merge pull request #94025 from dalexeev/gds-fix-implicit-cast-typed-array-param
GDScript: Fix implicit cast to typed array when passing parameter
2024-07-09 16:47:20 +02:00
Hilderin 169e732518 Fix missing options in Project Import Defaults 2024-07-09 09:33:39 -04:00
Danil Alexeev 110c4d4067
GDScript: Fix "Mismatched external parser" for autoloads 2024-07-09 16:16:45 +03:00
Bastiaan Olij bf8c85e13b Remove our ERR_ON_RENDER_THREAD guard, it is not reliable 2024-07-09 18:48:00 +10:00
Rémi Verschelde daba91d8c6
Merge pull request #93897 from akien-mga/vformat-better-error-message
Core: Improve `vformat` error reporting on `sprintf` failure
2024-07-09 00:03:17 +02:00
A Thousand Ships f68ab70a6a
[GDScript] Fix `get_method` for lambda self `Callable`s 2024-07-08 18:01:54 +02:00
Rémi Verschelde 3b891f5a8a
Merge pull request #94004 from Hilderin/fix-blender-export-quotation-mark
Fix .blend files with quotation marks in filename fail to import
2024-07-08 11:48:23 +02:00
Rémi Verschelde 88296701fb
Merge pull request #93815 from HolonProduction/comletion-variant-lookup
Autocompletion: Don't use `in` operator to decide over variant lookup
2024-07-08 11:48:17 +02:00
Hilderin d244d6f4fe Fix .blend files with quotation marks in filename fail to import 2024-07-07 18:12:45 -04:00
Danil Alexeev b4cb7ec2bb
GDScript: Fix implicit cast to typed array when passing parameter 2024-07-07 13:43:09 +03:00
Rémi Verschelde 080b975c09
Merge pull request #93998 from demolke/blender42
Update vertex color import to handle Blender 4.2 upwards
2024-07-07 12:38:47 +02:00
demolke 7864abbeec Update vertex color import to handle Blender 4.2 upwards
Blender commit 0f0a8df8a9 which is landing in 4.2 deprecated `vertex_colors` GLTF property, use `export_vertex_color` instead.
2024-07-06 14:22:09 +02:00
Eric allen e03fb3043f fix: change esthetic -> aesthetic 2024-07-05 16:03:01 -04:00
Rémi Verschelde 33f456ccfe
Merge pull request #93964 from AThousandShips/lambda_arg_fix
[GDScript] Fix `get_argument_count` for lambda `Callable`s
2024-07-05 15:07:47 +02:00
Rémi Verschelde 77dfb42d92
Merge pull request #93920 from aaronfranke/gltf-accessor-type
Move GLTFAccessorType into GLTFAccessor
2024-07-05 15:07:38 +02:00
Rémi Verschelde 4f953cc8ab
Merge pull request #91590 from timothyqiu/dupe
Fix crash when executing `Image.save_jpg_to_buffer`
2024-07-05 15:07:22 +02:00
A Thousand Ships aa28782be3
[GDScript] Fix `get_argument_count` for lambda `Callable`s 2024-07-05 13:53:56 +02:00
Aaron Franke 923a8eb5d3
Move GLTFAccessorType into GLTFAccessor 2024-07-04 15:46:48 -07:00
João Marcos P. Bezerra 0a822af333
Mention timeout unit in ENetConnection::service docs 2024-07-04 22:20:44 +02:00
Rémi Verschelde 496b7b8482
Core: Improve vformat error reporting on sprintf failure
And fix a few occurrences of formatting errors that led me to this.
2024-07-04 10:54:55 +02:00
Rémi Verschelde 1ebd12ac5f
Merge pull request #92616 from rune-scape/rune-invalidate-parser-chain
GDScript: Invalidate cached parser chain when reloading
2024-07-02 17:27:25 +02:00
HolonProduction 70488d40db Autocompletion: Don't use `in` operator to decide over variant lookup 2024-07-01 15:57:03 +02:00
Rémi Verschelde 3c9949e320
Merge pull request #93597 from Gurvan/fix/gltf-spline-interpolation
Use Hermite instead of Bezier for glTF spline interpolation
2024-06-29 19:54:06 +02:00
Artem b8fc6b4979
NavigationServer3D.map_get_closest_point_to_segment - add an additional shortest distance check
For a case when shortest distance is between some point located on a face's
edge and some point located on a line segment.
2024-06-29 19:50:10 +02:00
Gurvan e7f34aace3 Use Hermite instead of Bezier for glTF spline interpolation 2024-06-29 14:36:49 +02:00
Rémi Verschelde 47776856d6
Merge pull request #93699 from dalexeev/gds-fix-false-positive-capture-warnings
GDScript: Fix false positive `CONFUSABLE_CAPTURE_REASSIGNMENT` warnings
2024-06-28 15:55:05 +02:00