Age | Commit message (Collapse) | Author |
|
Remove `#ifdefs` for handling compilation with Visual Studio < 2015
|
|
[Net] Move multiplayer classes to own subfolder. Split RPC from MultiplayerAPI.
|
|
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".
|
|
|
|
TokageItLab/implement-set-read-only-in-extended-class
Apply `set_read_only()` to child classes of `EditorProperty` elements
|
|
|
|
Add functions for access members by index on packed array objects
|
|
PackedByteArray when deriving from a single PackedByteArray
state variant.
|
|
|
|
Remove cartesian2polar and polar2cartesian
|
|
Add Vector2.from_angle() method
|
|
Fix ConstIterator to allow `for` range loops on Packed*Array
|
|
Godot 3.3 and later require Visual Studio 2017 to be compiled.
|
|
|
|
Rename `String::is_rel_path` to `String::is_relative_path`
|
|
|
|
workflow."
|
|
Improve collision generation usability in the new 3D scene import workflow.
|
|
|
|
|
|
This commit completely removes the RPC_MODE_MASTER ("master" keyword),
and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword).
This commit also renames the "Node.[get|set]_network_master" methods to
"Node.[get|set]_network_authority".
This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY.
RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by
any puppet peer on the master, while RPC_MODE_PUPPET meant that it would
be callable by the master on any puppet.
Beside proving to be very confusing to the user (referring to where it
could be called instead of who can call it) the RPC_MODE_MASTER is quite
useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with
the exception that the network master cannot. While this could be useful
to check in some case, in such a function you would anyway need to check
in code who is the caller via get_rpc_sender_id(), so adding the check
there for those rare cases does not warrants a dedicated mode.
|
|
[Net] MultiplayerReplicator state sync.
|
|
Quote and escape ConfigFile keys when necessary
|
|
Array::insert consistent with Pool*Array::insert
|
|
Fix crash when dividing by 0 in Vector2/3i
|
|
|
|
Use sorted map for autoloads in ProjectSettings to preserve order.
|
|
Correct null and boolean values being capitalised by the str command
|
|
|
|
Fix segment intersection consistency in Geometry2D
|
|
|
|
Negative indices are supported to pop an element relative from the end.
|
|
Fix LocalVector crash on insert.
|
|
Fix misspelled "overriden"
|
|
Implement Extension Loader
|
|
|
|
Implement error return documentation
|
|
|
|
|
|
Segment collision results could be different depending on the direction
when they exactly touch (order of the points in segments). This was due
to the way parallelism was checked, using different logic based on
positive or negative sign of cross products.
Now the results are the same whatever the direction, without changing
the current design, which is that parallel or colinear segments are
not considered colinear.
Fixes inconsistencies with raycasts exactly on edges of convex shapes
depending on the direction.
|
|
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
|
|
* Exposed functions in Engine to register and unregister singletons.
* Added the concept of user singletons, which can be removed (the system ones can't).
|
|
Adds ability to add error return documetation to the binder and class reference.
Usage example:
```C++
void MyClass::_bind_method() {
[..]
BIND_METHOD_ERR_RETURN_DOC("load", ERR_FILE_CANT_OPEN, ERR_FILE_UNRECOGNIZED);
}
```
One function of ConfigFile was changed as example.
|
|
Expose `String.simplify_path`
|
|
|
|
* Exposed as utility functions.
* Not very useful for script, but vital for creating servers using native extensions.
|
|
Implement NativeExtension pointer arguments
|
|
* Allows calling into native extensions directly with a pointer
* Makes it easier to implement some APIs more efficiently
* Appears with a "*" in the documentation for the argument.
* Implementing the pointer handling is entirely up to the implementation, although the extension API provides some hint.
* AudioStream has been implemented as an example, allowing to create NativeExtension based AudioStreams.
|
|
Improve error descriptions
|
|
|