Commit Graph

7739 Commits

Author SHA1 Message Date
Zae 0a1a40e6eb Fix WebSocket connection failed on Web. 2022-11-03 14:29:39 +08:00
Aaron Franke 9e952c8386
Allow getting Quaternion rotation in different Euler orders 2022-11-02 19:20:10 -05:00
Rémi Verschelde 08d56ac2f1
Merge pull request #66747 from aaronfranke/move-euler-order
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 22:37:12 +01:00
Raul Santos 99260d972f
C#: Add implicit conversion from arrays to Variant
Adds an implicit conversion from supported array types (the ones that
are equivalent to `Packed*Array` types in Godot) to Variant.
2022-11-02 21:46:32 +01:00
Aaron Franke 8556fdd4bc
Move EulerOrder enum to math_defs.h and global scope 2022-11-02 13:44:13 -05:00
Rémi Verschelde f7c611ab71
Style: Misc docs and comment style and language fixes
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Rémi Verschelde eefba5bc33
Merge pull request #65062 from KoBeWi/RedoUndo
Unify usage of undo_redo in editor
2022-11-02 18:54:05 +01:00
Rémi Verschelde 30e4e7c083
Merge pull request #67917 from Faless/mp/4.x_auth
[MP] Add peer authentication support to the default MultiplayerAPI.
2022-11-02 18:53:38 +01:00
Rémi Verschelde d2e1b4b9f0
Merge pull request #68118 from aaronfranke/quat-from-euler
Replace Quaternion Euler constructor with `from_euler` method
2022-11-02 18:51:59 +01:00
kobewi 15831e381b Unify usage of undo_redo in editor 2022-11-02 17:51:58 +01:00
Fabio Alessandrelli 33dda2e68a [MP] Remove connection state signals from MultiplayerPeer.
Now handled directly by the MultiplayerAPI implementation.
2022-11-02 15:17:23 +01:00
Fabio Alessandrelli 9773803e4e [MP] Add optional authentication to SceneMultiplayer.
Add few methods to allow peers to exchange authentication information.

- `set_auth_callback(callback)`: Enable the authentication features.
  The callback is a `Callable` that accepts an `int` (the peer ID), and
  a `PackedByteArray` of data.
- The `peer_authenticating(id)` signal will be emitted instead of
  `peer_connected` when a new peer connects.
- Use `send_auth(id: int, data: PackedByteArray)` to exchange data.
- Call `complete_auth(id: int)` when the authentication process is
  complete and you expect to start receiving game data.
- The `peer_connected` signal will be emitted as soon as both parties
  complete the authentication.
- Use `disconnect_peer(id)` to disconnect a connected peer.
- If the `peer_connected` signal didn't fire for that peer (i.e. it was
  still in the authentication phase), the `peer_auth_failed` signal will
  be emitted instead of `peer_disconnected`.
2022-11-02 15:17:23 +01:00
Rémi Verschelde 7eb44fa47d
Merge pull request #68125 from kleonc/range-fix-single-arg-optimized-type-mismatch
[GDScript] Fix type mismatch in optimized single arg `range`
2022-11-02 14:18:24 +01:00
Rémi Verschelde 34c66fac0a
Merge pull request #68161 from Chaosus/dotnet_quaternion_constructor
Add missed Quaternion constructor to C#
2022-11-02 14:18:19 +01:00
Rémi Verschelde b3c2db954f
Merge pull request #68136 from qarmin/projection_not_equal
Support for checking that Projection is(not) null
2022-11-02 14:17:29 +01:00
Rémi Verschelde 2fd2a04efc
Merge pull request #68131 from benbusby/hotfix/zippacker_null_check
Remove `zf != NULL` check from `ZIPPacker::start_file`
2022-11-02 14:17:07 +01:00
Rémi Verschelde 7c0e46f1c1
Merge pull request #68040 from adamscott/fix-property-getter-return-type
Fix property getter with custom return type
2022-11-02 14:16:37 +01:00
Rémi Verschelde a30ed00fb1
Merge pull request #68057 from Klowner/tga-truncated-crash-fix-67985
Add buffer size check to Image.load_tga_from_buffer(). Fixes #67985
2022-11-02 14:15:40 +01:00
Rémi Verschelde 1bd7f2110a
Merge pull request #68110 from bruvzg/hexbox_ver
[TextServer] Fix hex code box positions in vertical text layout.
2022-11-02 14:15:23 +01:00
kleonc c268e3a235 GDScript Fix type mismatch in optimized single arg `range` 2022-11-02 13:20:47 +01:00
Yuri Rubinsky 9487a6ea32 Add missed Quaternion constructor to C# 2022-11-02 11:41:32 +03:00
Rafał Mikrut d7d130295e Support for checking that Projection is(not) null 2022-11-01 20:49:52 +01:00
Fabio Alessandrelli 0a0e99cadc
Merge pull request #67982 from Faless/mp/4.x_disconnect_close
[MP] Add MultiplayerPeer disconnect_peer, close.
2022-11-01 20:35:04 +01:00
Ben Busby 3b37f50e50
Remove `zf != NULL` check from `ZIPPacker::start_file`
This check was removed because it introduces a bug which prevents
ZIPPacker from actually adding any files, since it must be opened before
adding any files (and therefore shouldn't be NULL at the start of
`start_file`).
2022-11-01 11:37:02 -06:00
Aaron Franke 83634119d4
Replace Quaternion Euler constructor with `from_euler` method 2022-11-01 09:28:12 -05:00
bruvzg 02a4b3f859
[TextServer] Fix hex code box positions in vertical text layout. 2022-11-01 11:51:29 +02:00
Bastiaan Olij a4e58ec84a Fix several render issues found while debugging XR 2022-11-01 13:27:03 +11:00
Haoyu Qiu 3b88851e25 Clarify offset parameter behavior in RegEx methods 2022-11-01 09:29:08 +08:00
bruvzg 397fa2fa7a
[TextServer] Fix incorrect line breaks count for embedded objects (e.g. RTL tables). 2022-10-31 17:34:07 +02:00
bruvzg f0b7ff324c
Improve text line breaking performance for long lines. 2022-10-31 15:35:51 +02:00
Rémi Verschelde cd25e48456
Merge pull request #67562 from bruvzg/improve_font_packing
Improve font glyph cache packing shelf best height fit heuristic.
2022-10-31 14:26:13 +01:00
Rémi Verschelde d43364e3cc
Merge pull request #67968 from bruvzg/icu72.1
ICU: Update to version 72.1
2022-10-31 14:25:37 +01:00
Rémi Verschelde 76ef71bda0
Merge pull request #67585 from bruvzg/fix_no_graphite_build
[TextServer] Fix build with disabled graphite.
2022-10-31 14:22:32 +01:00
Rémi Verschelde ae81a569b9
Merge pull request #67409 from bruvzg/fix_oversampling_rounding
[TextServer] Do not round glyph advances / coordinates if font oversampling or bitmap glyph scaling is used.
2022-10-31 14:21:56 +01:00
Rémi Verschelde 5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde 1e0edc48b5
Merge pull request #67826 from Chaosus/gds_fix_enum
Fix enum type to use int64_t instead of int in GDScript
2022-10-31 13:10:28 +01:00
Rémi Verschelde be126d42d4
Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
Rémi Verschelde f4f98c4ecb
Merge pull request #67055 from GuilhermeGSousa/custom-node-export
Added custom node export
2022-10-31 11:11:07 +01:00
Rémi Verschelde 213ba46672
Merge pull request #68065 from zCubed3/fix_min_max_crash
`GDScriptAnalyzer` Fix math utilities crashing when invalid args are passed
2022-10-31 10:59:27 +01:00
Rémi Verschelde 420eb1aa34
Merge pull request #67445 from Zylann/rename_queue_delete
Rename queue_delete => queue_free
2022-10-31 10:51:18 +01:00
Rémi Verschelde 62a778fdd6
Merge pull request #66929 from MladoniSzabi/save_jpeg_file
Fixed Image.save_jpg() does not write any file
2022-10-31 10:48:10 +01:00
Rémi Verschelde b43cc96535
Merge pull request #62695 from Spartan322/relax-constant-asserts
Allow non-constant string message for assert
2022-10-31 10:44:56 +01:00
Ignacio Roldán Etcheverry 256c0079b0
Merge pull request #67987 from neikeq/dotnet-more-static-marshaling
C#: Reflection-less delegate callables and nested generic Godot collections
2022-10-31 04:21:13 +01:00
zCubed3 b7f0ab13a4
Fix math utility functions crashing when invalid args passed 2022-10-30 15:18:03 -07:00
Mark Riedesel 5cb07486db Add buffer size check to Image.load_tga_from_buffer(). Fixes #67985 2022-10-30 11:20:50 -05:00
Max Hilbrunner 9fb481334a
Merge pull request #68039 from Anutrix/docs-fix-signal-syntax
Fixed signal connection examples to use new callable syntax in the docs
2022-10-30 12:03:37 +01:00
Adam Scott 26f0afdce2 [godot#68001] Fix property getter with custom return type 2022-10-29 20:38:26 -04:00
Anutrix 7984598e33 Fixed signal connection examples to use new callable syntax in the docs 2022-10-30 05:26:46 +05:30
Ignacio Roldán Etcheverry f66a352c0f C#: Add Variant conversion callbacks for generic Godot collections
This allows using generic Godot collections as type arguments for other
generic Godot collections. This also allows generic Godot collections
as parameter or return type in dynamic Callable invocations.
2022-10-30 01:24:15 +02:00
Ignacio Roldán Etcheverry 282bd37e5c C#: Remove need for reflection to invoking callable delegates
We aim to make the C# API reflection-free, mainly for concerns about
performance, and to be able to target NativeAOT in refletion-free mode,
which reduces the binary size.

One of the main usages of reflection still left was the dynamic
invokation of callable delegates, and for some time I wasn't sure
I would find an alternative solution that I'd be happy with.

The new solution uses trampoline functions to invoke the delegates:

```
static void Trampoline(object delegateObj, NativeVariantPtrArgs args, out godot_variant ret)
{
    if (args.Count != 1)
        throw new ArgumentException($"Callable expected 1 arguments but received {args.Count}.");

    string res = ((Func<int, string>)delegateObj)(
        VariantConversionCallbacks.GetToManagedCallback<int>()(args[0])
    );

    ret = VariantConversionCallbacks.GetToVariantCallback<string>()(res);
}

Callable.CreateWithUnsafeTrampoline((int num) => "Foo" + num, &Trampoline);
```

Of course, this is too much boilerplate for user code. To improve this,
the `Callable.From` methods were added. These are overloads that take
`Action` and `Func` delegates, which covers the most common use cases:
lambdas and method groups:

```
// Lambda
Callable.From((int num) => "Foo" + num);

// Method group
string AppendNum(int num) => "Foo" + num;
Callable.From(AppendNum);
```

Unfortunately, due to limitations in the C# language, implicit
conversions from delegates to `Callable` are not supported.

`Callable.From` does not support custom delegates. These should be
uncommon, but the Godot C# API actually uses them for event signals.
As such, the bindings generator was updated to generate trampoline
functions for event signals. It was also optimized to use `Action`
instead of a custom delegate for parameterless signals, which removes
the need for the trampoline functions for those signals.

The change to reflection-free invokation removes one of the last needs
for `ConvertVariantToManagedObjectOfType`. The only remaining usage is
from calling script constructors with parameters from the engine
(`CreateManagedForGodotObjectScriptInstance`). Once that one is made
reflection-free, `ConvertVariantToManagedObjectOfType` can be removed.
2022-10-30 01:24:15 +02:00
Max Hilbrunner a889c1d7a2
Merge pull request #67909 from Calinou/doc-enetpacketpeer
Document the ENetPacketPeer class
2022-10-30 00:09:24 +02:00
Max Hilbrunner 11d74d606a
Merge pull request #67980 from DeeJayLSP/webpcase
Change all WEBP strings and comments to WebP
2022-10-29 19:28:47 +02:00
Clay John 3fa339cfc4
Merge pull request #67849 from kdada/fix-built-in-script-crash
Fix built-in script path of GDScript to prevent crash
2022-10-28 13:04:36 -07:00
Fabio Alessandrelli 39f3d9d59e [MP] Add MultiplayerPeer disconnect_peer, close.
Update ENet, WebRTC, and WebSocket to support peer disconnection and
unify the close function.
2022-10-28 21:18:01 +02:00
DeeJayLSP dd64ceab47 Change all WEBP strings and comments to WebP 2022-10-28 15:17:49 -03:00
bruvzg 4e44a271f0
ICU: Update to version 72.1 2022-10-28 09:11:55 +03:00
Clay John bc7e0f0616
Merge pull request #67946 from BastiaanOlij/openxr_default_aimpose
Change default OpenXR pose to aim pose
2022-10-27 17:17:07 -07:00
Fabio Alessandrelli 7536d15fe3 [MP] Let MultiplayerAPI handle packet relaying and peer signaling.
MultiplayerPeer changes:

- Adds is_server_relay_supported virtual method

Informs the upper MultiplayerAPI layer if it can signal peers connected
to the server to other clients, and perform packet relaying among them.

- Adds get_packet_channel and get_packet_mode virtual methods

Allows the MultiplayerAPI to retrieve the channel and transfer modes to
use when relaying the last received packet.

SceneMultiplayerPeer changes:

- Implement peer signaling and packet relaying when the MultiplayerPeer
  advertise they are supported.

ENet, WebRTC, WebSocket changes:

- Removed custom code for relaying from WebSocket and ENet, and let it
  be handled by the upper layer.
- Update WebRTC to split create_client, create_server, and create_mesh,
  with the latter behaving like the old initialize with
  "server_compatibility = false", and the first two supporting the upper
  layer relaying protocol.
2022-10-27 18:08:58 +02:00
Bastiaan Olij 91945c3077 Change default OpenXR pose to aim pose 2022-10-28 01:56:06 +11:00
Hugo Locurcio 16ba235e0a
Document the ENetPacketPeer class 2022-10-26 19:40:18 +02:00
Max Hilbrunner bb77342c07
Merge pull request #67843 from Calinou/doc-csgshape3d
Document `collision_priority` in the CSGShape3D class
2022-10-25 14:26:47 +02:00
Max Hilbrunner 9e509caa8b
Merge pull request #67858 from TechnoPorg/fix-upnp-docs
Fix Thread usage in UPNP docs.
2022-10-25 14:22:23 +02:00
Yuri Rubinsky 9e04531938 Fix enum type to use int64_t instead of int in GDScript 2022-10-25 09:06:08 +03:00
TechnoPorg 4c06237b93 Fix Thread usage in UPNP docs.
The threading API has changed between Godot 3 and Godot 4.
See https://github.com/godotengine/godot-proposals/issues/4691.
2022-10-24 17:23:33 -06:00
Marc Gilleron 7543a5e014 Rename queue_delete => queue_free
# Conflicts:
#	editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-24 22:07:02 +01:00
Wei Guo d0edd36f80 Fix built-in script path of GDScript 2022-10-25 03:41:18 +08:00
Clay John c51a42778d
Merge pull request #67541 from RandomShaper/refactor_subgroup_ads
Let the RD driver itself expose subgroup caps
2022-10-24 12:02:06 -07:00
Hugo Locurcio df636ac881
Document `collision_priority` in the CSGShape3D class 2022-10-24 18:44:30 +02:00
Clay John 753a182797
Merge pull request #65334 from dsnopek/opengl-multiview
[opengl] Add multiview to the opengl3 driver
2022-10-23 17:00:01 -07:00
Wei Guo 95113a7cd5 Fix MultiplayerSynchronizer::update_outbound_sync_time when replication_interval is not 0 2022-10-23 14:01:51 +08:00
Raul Santos 687633e5bd
Use `.generated` suffix for generated C# code
Use the `.generated` suffix instead of `_Generated` so .NET marks C#
file generated by Godot source generators as generated code.
2022-10-22 23:13:52 +02:00
David Snopek 398ee08375 Add multiview to the opengl3 driver 2022-10-21 21:00:32 -05:00
Max Hilbrunner 13138b307b
Merge pull request #67656 from MewPurPur/instance🧹
Fix minor mistakes throughout the documentation
2022-10-21 18:19:32 +02:00
VolTer 05a9637d5d Fix small mistakes throughout much of the documentation 2022-10-21 00:20:59 +02:00
Pedro J. Estébanez ae38d7930e Let the RD driver itself expose subgroup caps 2022-10-20 19:37:35 +02:00
Max Hilbrunner cb36006f9e
Merge pull request #67100 from Mickeon/doc-peeves
Tweak `@GDScript` documentation overall
2022-10-19 21:45:35 +02:00
Max Hilbrunner 5f7906a289
Merge pull request #67527 from BastiaanOlij/fix_tracker_names
Fix two typos in tracker names and a bug in OpenXR haptic feedback
2022-10-19 18:18:36 +02:00
DeeJayLSP b87584a070 Update libtheora to GIT (2020.10) 2022-10-18 21:15:13 -03:00
kobewi d06a8320e5 Simplify GDVIRTUAL_CALL calls 2022-10-19 00:05:48 +02:00
Micky a34cf161aa Tweak `@GDScript` documentation overall
- Made use of [param] more frequently,
- Link to other classes' documentation more often, improve the examples.
- Made the writing style closer to how the rest of the documentation is formatted.
- Ensure these are called "functions", not "methods".
- Add [b]Warning:[/b] where more appropriate than [b]Note:[/b]

Most notably, removed " It must be a static string, so format strings can't be used.", as this behavior is actually a bug.
2022-10-18 22:54:46 +02:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
bruvzg c1af9d57a3
Improve font glyph cache packing shelf best height fit heuristic. 2022-10-18 18:42:04 +03:00
bruvzg 634c2fbcae
[TextServer] Fix build with disabled graphite. 2022-10-18 18:41:31 +03:00
Bastiaan Olij 4a96fce801
Merge pull request #67529 from BastiaanOlij/filter_out_htc_paths
Filter out HTC OpenXR paths based on extension
2022-10-19 01:53:56 +11:00
Bastiaan Olij 19f9fe1dec Filter out HTC OpenXR paths based on extension 2022-10-19 00:09:54 +11:00
Bastiaan Olij 45ce45c001 Fix missing itos for OpenXR logging 2022-10-18 13:55:39 +11:00
Rémi Verschelde 28a4eec9a7 Merge pull request #67532 from Faless/ws/4.x_fix_poll
[WebSocket] Fix client failing to connect to direct IP.
2022-10-17 17:32:16 +02:00
Rémi Verschelde 667bc202b5 Merge pull request #67179 from BastiaanOlij/openxr_add_refresh_rate_extension
Adding support for the OpenXR Display Refresh Rate extension
2022-10-17 17:32:01 +02:00
Rémi Verschelde 3c4b110ae0 Merge pull request #67521 from nikitalita/speed_up_texture_pos
Speed up `find_texture_pos_for_glyph()`
2022-10-17 17:31:54 +02:00
Rémi Verschelde 69bcda3dd2 Merge pull request #67514 from timothyqiu/defer
Fix memory leak when `_ensure_cache_for_size()` fails
2022-10-17 17:31:41 +02:00
Rémi Verschelde 1654810409 Merge pull request #67469 from anvilfolk/resource-load-clarification
Clarified reason why a resource cannot be preload()'ed
2022-10-17 17:31:32 +02:00
Rémi Verschelde c43ce5e341 Merge pull request #67485 from kdada/kdada/master
Fix peer visiblity in SceneReplicationInterface._update_sync_visibility
2022-10-17 17:31:20 +02:00
Rémi Verschelde f921409984 Merge pull request #67428 from aaronfranke/gltf-additional-data
Add a way to store additional data in GLTFState and GLTFNode
2022-10-17 17:30:49 +02:00
Fabio Alessandrelli adb3d2338e [WebSocket] Fix client failing to connect to direct IP.
The bug was caused by not checking the TCP CONNECTING state
appropriately during the client handshake, and not checking the TCP
CONNECTED state during connection (which is unlikely, but might still
happen).
2022-10-17 12:52:09 +02:00
Bastiaan Olij 1e7f009492 Fix two typos in tracker names and a bug in OpenXR haptic feedback 2022-10-17 20:29:19 +11:00
bruvzg 68ec84cded
[TextServer] Do not round glyph advances / coordinates if font oversampling or bitmap glyph scaling is used. 2022-10-17 10:57:49 +03:00
nikitalita 21341ddaed Speed up `find_texture_pos_for_glyph()` 2022-10-16 22:29:26 -07:00
Haoyu Qiu 6db8e79eed Fix memory leak when `_ensure_cache_for_size()` fails 2022-10-17 12:47:38 +08:00
Ignacio Roldán Etcheverry 9afc8337bd
Merge pull request #67440 from raulsntos/dotnet/bindings-conflicts
Guard against more potential conflicts in C# bindings generator
2022-10-17 00:28:07 +02:00
João Martins a0c4002520 Clarified reason why a resource cannot be loaded. 2022-10-16 17:27:00 -04:00
Wei Guo 972242d664 Fix MultiplayerSynchronizer peer visibility 2022-10-16 23:02:31 +08:00
Yuri Rubinsky 04f7207009 Add a `Plane(Vector3, Vector3)` constructor for C# 2022-10-16 14:10:58 +03:00
Aaron Franke a70dce893f
Add a way to store additional data in GLTFState and GLTFNode 2022-10-15 12:04:36 -05:00
Rémi Verschelde dc4b616596 Merge pull request #63332 from KoBeWi/static_images_aka_photos
Make some Image methods static
2022-10-15 12:56:57 +02:00
Rémi Verschelde 96ec73f3ee Merge pull request #65281 from MisterMX/zip-module
Expose minizip API to allow creating zips using scripts
2022-10-15 12:56:26 +02:00
Raul Santos 333f88dc49
Guard against more potential conflicts in C# bindings generator 2022-10-15 12:47:10 +02:00
Marcelo Fernandez ea6cc3e260 Expose minizip API to allow creating zips using scripts
Co-authored-by: Marcelo Fernandez <marcelofg55@gmail.com>
Co-authored-by: James Westman <flyingpimonster@gmail.commail>
Co-authored-by: MisterMX <mbxd12@web.de>

Signed-off-by: MisterMX <mbxd12@web.de>
2022-10-14 21:51:38 +02:00
clayjohn 0a51bb4ca5 Add STATIC_CALLED_ON_INSTANCE warning to highlight
when static functions are called directly from objects
2022-10-14 10:43:42 -07:00
Guilherme Sousa 5d06843fcf Added custom node export 2022-10-14 17:31:00 +02:00
kobewi 072f6feaba Make some Image methods static 2022-10-14 14:34:15 +02:00
Rémi Verschelde 343bb9c07f Merge pull request #67361 from clayjohn/GDScript-unused-return-warning
Implement RETURN_VALUE_DISCARDED warning in GDscript
2022-10-14 10:19:55 +02:00
clayjohn be1e9acb7c Implement RETURN_VALUE_DISCARDED warning in GDscript 2022-10-13 11:56:45 -07:00
Rémi Verschelde 46a1b92bb7
Merge pull request #66294 from reduz/optimize-convex-collision 2022-10-13 20:34:00 +02:00
Juan Linietsky 71d2e38cb5 Optimize Convex Collision
Implements the Gauss Mapping optimization to SAT convex collision test.

* Described [here](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822403Gregorius_Dirk_TheSeparatingAxisTest.pdf) by Dirk Gregorius.
* Requires adding of face information to edges in MeshData
* Took the chance to convert MeshData to LocalVector for performance.
2022-10-13 19:07:53 +02:00
Rémi Verschelde 01ae26d31b Merge pull request #67351 from akien-mga/thorvg-0.8.2-cleanup-includes
thorvg: Sync with 0.8.2, cleanup SCsub and fix includes
2022-10-13 18:41:40 +02:00
Fabio Alessandrelli 0fe01b6b4a [WebSocket] Fix potential double free after multiplayer clear. 2022-10-13 18:05:50 +02:00
Fabio Alessandrelli 40d60ca6ae [WebSocket] Fix debugger implementation.
Register module during core initialization so the remote debugger can
properly handle the "wss://" protocol.
2022-10-13 17:25:29 +02:00
Rémi Verschelde 99b450762b thorvg: Sync with 0.8.2, cleanup SCsub and fix includes
We were compiling `src/loaders/external_png` but using the header from
`src/loaders/png`, leading to `-Wodr` warnings.

Remove unused bundled lodepng code since we use `external_png` (libpng).

Whitespace changes are from upstream, will attempt PR'ing a cleanup there for
future updates.
2022-10-13 17:05:41 +02:00
Fabio Alessandrelli 7464f39de8 [WebSocket] Fix Web write mode. 2022-10-13 16:46:48 +02:00
Fabio Alessandrelli a5d243cac2 [WebSocket] Fix TCP connection being closed while connecting.
Fix a bug causing the WebSocketPeer to fail connecting to a remote
server when the TCP 3-way handshake took more than a few milliseconds.
2022-10-13 14:24:54 +02:00
Rémi Verschelde b9e924c806 Merge pull request #67216 from dotlogix/Bugfix/FixErrorWhenSerializingSignals
Fix crash when serializing empty delegates in C#
2022-10-13 09:05:22 +02:00
Alexander Schill 5f47873f10 Adding null check to prevent null reference exception when serializing delegates in C# 2022-10-13 00:19:46 +02:00
Rémi Verschelde f2248969db
Merge pull request #66952 from bruvzg/macos_net_export
Fix macOS .NET export.
2022-10-12 22:52:59 +02:00
Rune 624af7e032 GDScript: fix highlighting '.' after global class name 2022-10-11 22:18:19 -07:00
Fabio Alessandrelli a8950f98dd [WebSocket] Refactor websocket module.
This commit is a huge refactor of the websocket module.
The module is really old, and some design choices had to be
re-evaluated.

The WebSocketClient and WebSocketServer classes are now gone, and
WebSocketPeer can act as either client or server.
The WebSocketMultiplayerPeer class is no longer abstract, and implements
the Multiplayer API on top of the lower level WebSocketPeer.

WebSocketPeer is now a "raw" peer, like StreamPeerTCP and StreamPeerTLS,
so it emits no signal, and just needs polling to update its internal
state.

To use it as a client, simply call WebSocketPeer.coonect_to_url, then
frequently poll the peer until STATE_OPEN is reached and then you can
write or read from it, or STATE_CLOSED and then you can check the
disconnect code and reason).

To implement a server instead, a TCPServer must be created, and the
accepted connections needs to be provided to
WebSocketPeer.accept_stream (which will perform the HTTP handshake).

A full example of a WebSocketServer using TLS will be provided in the
demo repository.
2022-10-11 15:52:30 +02:00
Micky fe56c1ff75 Use `JSON::stringify` where possible 2022-10-11 00:27:23 +02:00
Rémi Verschelde 8017827144 SCons: Re-enable treating `#warning` as error with `werror`
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
Bastiaan Olij e14717bb2e Adding support for the OpenXR Display Refresh Rate extension 2022-10-10 20:41:46 +11:00
Bastiaan Olij 7f6c00f41a Cleanup a bunch of debug messages in OpenXR and change the ones we want to keep to print_verbose 2022-10-10 20:19:18 +11:00
Raul Santos fbea89d4f1
C#: Generate symbols packages 2022-10-08 13:59:06 +02:00
Rémi Verschelde 62b066dbd6 Fix more MSVC C4702 (unreachable code) warnings 2022-10-07 14:43:59 +02:00
MladoniSzabi a5c4df7a99 Fixed Image.save_jpg() returning OK but not saving image.
The function that was supposed to implement the saving in
image_loader_jpegd was just returning OK without doing anything.
Copied the code from _jpgd_buffer_save_func to _jpgd_save_func but
changed the ImageLoaderJPGOSBufferto a ImageLoaderJPGOSFile to save
to a file instead of memory. Changed the image format from
FORMAT_ETC2_RGB8 to FORMAT_RGB8 since the first one was creating
a weird greyscale interlaced image.
2022-10-07 11:56:51 +01:00
bruvzg 6daf4c6593
[.NET Export] Improve .NET export process.
[macOS export] Fix incorrect file placement, search paths and architecture detection.
[macOS export] Automatically detect executable files and set +x flag.
[macOS export] Automatically apply "Disable Library Validation" entitlements when required.
[macOS export] Remove old Mono export code.
Fix folder tree creation for shared objects export.
Add arch suffix to the exported .NET "data" folder name.
Remove old Mono code from .NET "data" folder lookup.
2022-10-07 13:33:06 +03:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
VolTer ac1761c8cd Fix outdated keywords autocompletion 2022-10-06 23:47:19 +02:00
Rémi Verschelde 74eade929c Merge pull request #66957 from BastiaanOlij/fix_error_typo_opengl
Fixing an incorrect error message in OpenXR
2022-10-06 08:57:12 +02:00
Bastiaan Olij c6ba626af4 Fixing an incorrect error message in OpenXR reporting missing OpenGL support 2022-10-06 11:15:57 +11:00
Rémi Verschelde 340f62d1ec .NET: Generate SdkPackageVersions.props from version.py
Ensures that the versions always match the Godot version, albeit following
SemVer 2.0 so inserting a dot between "beta" and the build number.

For "stable" status, we omit the suffix as this would be interpreted as a
pre-release build too.

So we have:

| Godot version  | Nupkg version  |
| -------------- | -------------- |
| 4.0.0-beta     | 4.0.0-beta     |
| 4.0.0-beta2    | 4.0.0-beta.2   |
| 4.0.0-rc1      | 4.0.0-rc.1     |
| 4.0.0-stable   | 4.0.0          |
2022-10-05 20:31:26 +02:00
Rémi Verschelde 5f3439e2d9 Merge pull request #66919 from bruvzg/ts_gde_fix
[TextServer GDExtension] Update build scripts and `.gdextension` files to use new target names and arch suffixes.
2022-10-05 11:45:00 +02:00
Rémi Verschelde 5b6ccf2fd2 Merge pull request #66720 from qarmin/unintialized_memory
Remove usage of unitialized variables
2022-10-05 11:42:47 +02:00
bruvzg 930be37bb4
[TextServer GDExtension] Update build scripts and `.gdextension` files to use new target names and arch suffixes. 2022-10-05 11:41:03 +03:00
Rémi Verschelde 9cd62741bb Merge pull request #66839 from aaronfranke/editor-prop-hide-slider
Fix `hide_slider` vs `no_slider` inconsistency in editor property code
2022-10-05 08:47:06 +02:00
Rémi Verschelde 52f5a58c38 Merge pull request #66873 from akien-mga/script-tweak-error-invalid-script-type
GDScript/C#: Tweak error message for invalid script type for object
2022-10-05 08:38:52 +02:00
Rémi Verschelde 3a2b0ab73d Merge pull request #66898 from aaronfranke/proj-mat-columns
Rename Projection `matrix` to `columns`
2022-10-05 08:35:26 +02:00
Rémi Verschelde 8590721450 Merge pull request #66885 from atirut-w/lsp-doc-fix
LSP: Fix GDScript doc comments
2022-10-05 08:31:56 +02:00
Rémi Verschelde 58a112183c Merge pull request #65227 from BastiaanOlij/complete_render_target_api
Implementing override functionality for XR
2022-10-05 08:31:40 +02:00
Rémi Verschelde c3e929cce6 Merge pull request #64577 from Calinou/improve-dictionary-printing
Improve dictionary printing to avoid confusion with arrays
2022-10-05 08:30:55 +02:00
Rémi Verschelde 75616d60e4 Merge pull request #66841 from jtnicholl/blend_enum_checks
Clean up .blend importer to fix unreachable code paths
2022-10-05 08:29:35 +02:00
Atirut Wattanamongkol f2522adb89 LSP: Fix GDScript doc comments 2022-10-05 11:25:52 +07:00
Bastiaan Olij c7656978ba Adding getters to RenderTarget and implementing override functionality for XR 2022-10-05 11:37:49 +11:00