Age | Commit message (Collapse) | Author |
|
|
|
It does nothing but printing errors (only websocket client is available
in browsers), so we might as well return null when you instantiate it.
|
|
- RPC configurations are now dictionaries.
- Script.get_rpc_methods renamed to Script.get_rpc_config.
- Node.rpc[_id] and Callable.rpc now return an Error.
- Refactor MultiplayerAPI to allow extension.
- New MultiplayerAPI.rpc method with Array argument (for scripts).
- Move the default MultiplayerAPI implementation to a module.
|
|
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
|
|
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
|
|
Note, this keeps the old behaviour of reporting CONNECTION_CONNECTED
while disconnecting.
We should change this before 4.0, but needs further refactoring of the
WebSocket classes.
|
|
* Changed to use the same stages as extensions.
* Makes the initialization more coherent, helping solve problems due to lack of stages.
* Makes it easier to port between module and extension.
* removed the DRIVER initialization level (no longer needed).
|
|
Add detail to some error messages in wsl_client
|
|
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
|
|
|
|
Add messages, and add expected and actual values to other messages in _verify_headers for easier troubleshooting.
|
|
|
|
|
|
They're moved to an `editor` subfolder so that we can easily handle them
separately.
|
|
The UDP method is now called `is_socket_connected` to limit confusion
with the actual host connection status which doesn't make sense in UDP.
The TCP method is completly dropped, use get_status instead.
The only one left is the WebSocketPeer one, which should be fine as is
for now.
|
|
No longer hacked into `get_status` and renamed to `poll`.
The old `poll` (for *nix `poll`, win `select`) is now called `wait`.
|
|
|
|
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.
Most classes that make sense have been converted. Missing:
* Physics servers
* VideoStream
* Script* classes.
which will go in a separate PR due to the complexity involved.
|
|
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
|
|
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.
Each class XML's schema conformance is also checked on GitHub Actions.
|
|
Using codespell 2.2-dev from current git.
Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
|
|
Hostname is now resolved during poll in WebSocketClient (wslay) to avoid
blocking during connect.
An attempt is still made to find the hostname in the resolver cache.
|
|
These are not used consistently and some can conflict with
system-specific defines. While here, also delete some unused macros.
|
|
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
|
|
Note: This PR also changes the port of the GDScript Language Server from 6008 to 6005. This opens enough ports above the debug port (6007) for this change to be useful.
|
|
https://github.com/tatsuhiro-t/wslay/commit/45d22583b488f79d5a4e598cc7675c191c5ab53f
Mostly style changes, a couple new methods and fixes.
Tweak file structure a bit.
|
|
Websockets: Fix buffer size checks in put_packet(), silent failures/connection hangs
|
|
Also check the error return value of wslay_event_queue_msg()
|
|
|
|
|
|
While at it, tweak some boolean setters to use `p_enabled` for the bool.
Also renames `draw_minimap()` to `set_draw_minimap()`.
|
|
|
|
|
|
[Net] Extension system for network peers, webrtc.
|
|
|
|
|
|
|
|
|
|
|
|
Removes _networking_ prefix from some methods and members, now that multiplayer has been largely moved out of Node and SceneTree and is seperated into its own set of classes.
|
|
Move multiplayer classes to "core/multiplayer" subdir.
Move the RPCConfig and enums (TransferMode, RPCMode) to a separate
file (multiplayer.h), and bind them to the global namespace.
Move the RPC handling code to its own class (RPCManager).
Renames "get_rpc_sender_id" to "get_remote_sender_id".
|
|
|
|
|
|
Add a missing call to disable warnings on a forked env for freetype's
`sfnt.c`.
|
|
[Net] Implement RPC channels in MultiplayerAPI.
|
|
WebsocketPeer outbound buffer fixes and buffer size query
|
|
|