Commit graph

4277 commits

Author SHA1 Message Date
SaracenOne f09f12ce55 Fix _send_default_spawn_default function sending zero length
PackedByteArray when deriving from a single PackedByteArray
state variant.
2021-09-02 21:36:54 +01:00
George Marques 25ae279317
Merge pull request #52270 from KoBeWi/goodbye_polar
Remove cartesian2polar and polar2cartesian
2021-09-01 09:33:13 -03:00
George Marques cf59028972
Merge pull request #48237 from KoBeWi/they_came_from_angle
Add Vector2.from_angle() method
2021-09-01 09:32:42 -03:00
Hugo Locurcio ac7541c1b1
Merge pull request #52026 from Calinou/constiterator-fix-const
Fix ConstIterator to allow `for` range loops on Packed*Array
2021-09-01 14:25:01 +02:00
kobewi 3f3739ccb5 Add Vector2.from_angle() method 2021-08-31 01:53:58 +02:00
Juan Linietsky bcd73fc00a
Merge pull request #52240 from Rubonnek/rename-rel-path
Rename `String::is_rel_path` to `String::is_relative_path`
2021-08-30 20:45:45 -03:00
kobewi 017c94222e Remove cartesian2polar and polar2cartesian 2021-08-31 01:41:41 +02:00
Juan Linietsky 6dab6e4136
Revert " Improve collision generation usability in the new 3D scene import workflow." 2021-08-30 11:30:36 -03:00
Camille Mohr-Daurat b60a51f023
Merge pull request #51985 from AndreaCatania/coll
Improve collision generation usability in the new 3D scene import workflow.
2021-08-30 07:25:51 -07:00
Haoyu Qiu fd52e18d19 Try other resolved IPs if one fails to connect 2021-08-30 13:00:48 +08:00
Wilson E. Alvarez d11c1afc04
Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
Fabio Alessandrelli 64b9f30b92 [Net] Rename RPC "puppet" to "auth" (authority). Drop "master".
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.
2021-08-30 00:54:38 +02:00
Fabio Alessandrelli 838a449d64
Merge pull request #51788 from Faless/mp/4.x_replicator_sync
[Net] MultiplayerReplicator state sync.
2021-08-30 00:48:10 +02:00
Hugo Locurcio 4d08a737fb
Merge pull request #52180 from timothyqiu/config-file-prop
Quote and escape ConfigFile keys when necessary
2021-08-28 23:49:00 +02:00
Max Hilbrunner 04c64b59a1
Merge pull request #47406 from mashumafi/master-Array-insert-rc
Array::insert consistent with Pool*Array::insert
2021-08-28 21:18:39 +02:00
Max Hilbrunner 99c2329b73
Merge pull request #43522 from qarmin/divide_by_zero_in_vectori
Fix crash when dividing by 0 in Vector2/3i
2021-08-28 19:53:28 +02:00
Haoyu Qiu 597d489a20 Quote and escape ConfigFile keys when necessary 2021-08-28 18:48:45 +08:00
K. S. Ernest (iFire) Lee d04aa9a114
Merge pull request #52122 from V-Sekai/autoload_list
Use sorted map for autoloads in ProjectSettings to preserve order.
2021-08-27 14:41:40 -07:00
Max Hilbrunner 4e67e9bca6
Merge pull request #52090 from balloonpopper/bug52060
Correct null and boolean values being capitalised by the str command
2021-08-27 21:05:47 +02:00
Ellen Poe 460e0ce314 Add a SafeList data structure for future audio server usage. 2021-08-27 10:26:18 -07:00
Camille Mohr-Daurat 9206f561f5
Merge pull request #52110 from nekomatata/fix-segment-intersection
Fix segment intersection consistency in Geometry2D
2021-08-27 08:48:29 -07:00
Lyuma 31f790299c Use OrderedHashMap for autoloads to preserve order 2021-08-26 21:55:26 -07:00
Hugo Locurcio 60116b17b5
Add an Array.pop_at() method to pop an element at an arbitrary index
Negative indices are supported to pop an element relative from the end.
2021-08-27 00:51:17 +02:00
Juan Linietsky 22cae39c1e
Merge pull request #52121 from groud/fix_localvector_insert
Fix LocalVector crash on insert.
2021-08-26 13:31:35 -03:00
Juan Linietsky d19b12dbd2
Merge pull request #52107 from timothyqiu/overriden
Fix misspelled "overriden"
2021-08-26 13:07:52 -03:00
Juan Linietsky eb940ca2a0
Merge pull request #51928 from reduz/extension-loader
Implement Extension Loader
2021-08-26 10:24:25 -03:00
Fabio Alessandrelli 2d2855cd53 Data structure optimizations as per review. 2021-08-26 13:35:33 +01:00
Juan Linietsky 34e286d6a3
Merge pull request #52077 from reduz/error-ret-doc
Implement error return documentation
2021-08-26 08:42:06 -03:00
Gilles Roudière de0765b94a Fix LocalVector crash on insert. 2021-08-26 11:54:56 +02:00
Balloonpopper 4fae7ae9dc Correct null and boolean values being capitalised by the str command 2021-08-26 17:11:34 +10:00
PouleyKetchoupp 511c80b2ec Fix segment intersection consistency in Geometry2D
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.
2021-08-25 18:17:52 -07:00
Haoyu Qiu eba7265a1c Fix misspelled "overriden"
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-26 01:44:01 +08:00
reduz e2f8df8c5b Add ability to register singletons from engine API
* Exposed functions in Engine to register and unregister singletons.
* Added the concept of user singletons, which can be removed (the system ones can't).
2021-08-25 08:32:25 -03:00
reduz 96f8254b24 Implement error return documetation
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.
2021-08-24 15:28:29 -03:00
Max Hilbrunner 7e0f1fa2ec
Merge pull request #52041 from Rubonnek/expose-simplify-path
Expose `String.simplify_path`
2021-08-24 17:06:16 +02:00
Wilson E. Alvarez 17821603b4
Expose String.simplify_path 2021-08-24 00:48:45 -04:00
reduz 65ca132a80 Expose RID creation utilities.
* Exposed as utility functions.
* Not very useful for script, but vital for creating servers using native extensions.
2021-08-23 21:55:45 -03:00
Juan Linietsky aa3c3a9ebb
Merge pull request #52036 from reduz/native-extension-argument-pointers
Implement NativeExtension pointer arguments
2021-08-23 20:36:48 -03:00
reduz 44d62a9f4b 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.
2021-08-23 19:58:40 -03:00
Max Hilbrunner 0df9895eb7
Merge pull request #51791 from mhilbrunner/better-error-names
Improve error descriptions
2021-08-23 20:13:32 +02:00
Hugo Locurcio 87b985a6aa
Fix ConstIterator to allow for range loops on Packed*Array 2021-08-23 19:00:33 +02:00
Max Hilbrunner 6dae9f5c36 Improve error descriptions 2021-08-23 17:58:24 +02:00
Max Hilbrunner 583b6a594a
Merge pull request #51971 from aaronfranke/https
Replace HTTP URLs with HTTPS for sites with HTTPS versions
2021-08-23 15:58:54 +02:00
Max Hilbrunner ae306665d3
Merge pull request #51750 from jmb462/inputmap_action_suggestions
Adding InputMap action error suggestions for Input singleton (Fix #51634)
2021-08-23 15:19:20 +02:00
reduz 5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.

Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Aaron Franke ae1702bee5
Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
AndreaCatania de0991d801 Fix Vector ConstIterator constructor.
The  constructor was expecting a mutable pointer, while the passed pointer was immutable ( returns a const pointer), so the compilation was failing when iterating a constant .
2021-08-22 18:19:04 +02:00
reduz 3682978aee Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.

Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.

Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Rémi Verschelde 0a001afec5
Merge pull request #51836 from akien-mga/string-remove-NO_USE_STDLIB
String: Remove old NO_USE_STDLIB code path
2021-08-21 09:18:47 +02:00
reduz 542e6e8ca6 Implement Extension Loader
* Extensions are now scanned and loaded on demand.
* Extensions found are cached into a file that is used to load them (which is also exported).
* Editor will ask to restart when an extension requires core functionality.
* Editor will attempt to load extensions always before importing or loading scenes. This ensures extensions can register the relevant types.
2021-08-20 16:02:24 -03:00