Commit Graph

7284 Commits

Author SHA1 Message Date
259114e9e0 Merge pull request #59001 from BastiaanOlij/only_uninitialise_openxr_if_initialised
Only uninitialise OpenXR on destruct if it was initialized
2022-03-11 08:06:56 +01:00
8bcbaff411 Fix normals computation at the 'seam' of smoothed torus shape 2022-03-11 00:16:30 +01:00
d2ef2715ea Only uninitialise OpenXR on destruct if it was initialised 2022-03-11 09:59:04 +11:00
1c51fd48db Merge pull request #58781 from BastiaanOlij/openxr_signals_and_events
Adding signals and events to OpenXR interface
2022-03-10 18:10:26 +01:00
6f51eca1e3 Discern between virtual and abstract class bindings
* 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.
2022-03-10 12:28:11 +01:00
85488f12f3 Allow making multiline annotations in GDScript 2022-03-10 10:56:14 +03:00
277b0dddee Merge pull request #58958 from hoontee/master
Revert #52647 (Don't update CSG Shape when not inside tree)
2022-03-10 08:34:26 +01:00
d11cb5fe98 Adding signals and events to OpenXR interface
Improving interaction profile logic
2022-03-10 17:14:56 +11:00
9c312c486c Revert #52647 2022-03-09 17:25:45 -06:00
3d7f155586 Remove unused Bullet module and thirdparty code
It has been disabled in `master` since one year (#45852) and our plan
is for Bullet, and possibly other thirdparty physics engines, to be
implemented via GDExtension so that they can be selected by the users
who need them.
2022-03-09 21:45:47 +01:00
33c907f9f5 Merge pull request #58929 from reduz/remove-variant-arg-macros
Remove VARIANT_ARG* macros
2022-03-09 20:48:45 +01:00
21637dfc25 Remove VARIANT_ARG* macros
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
2022-03-09 18:39:13 +01:00
f1cc99c6e8 Add SNAME macro optimization missed during rebase 2022-03-09 11:23:46 -06:00
39d429e497 Change some math macros to constexpr
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-09 16:24:32 +01:00
922348f4c0 Merge pull request #58925 from akien-mga/remove-unused-gdnative-code 2022-03-09 15:57:30 +01:00
56d055c1f9 Merge pull request #40814 from hoontee/master 2022-03-09 14:16:09 +01:00
9b05f29894 Remove unused GDNative code
This has been superseded by GDExtension so this code is no longer useful
nor usable.

There's still some GDNative-related stuff in platform export code which
needs to be adapted for GDExtension (e.g. to include GDExtension libraries
in exports).
2022-03-09 13:59:03 +01:00
70c5e7b0b8 Merge pull request #58920 from timothyqiu/autoload-cap 2022-03-09 09:20:34 +01:00
851ed8886c Fix Autoload capitalization inconsistency 2022-03-09 15:03:03 +08:00
4fee0e3b7d Fix VisualShaderNodeCustom script template 2022-03-09 09:45:20 +03:00
ce2b367afb Properly handle CSGShape parent and visibility updates, plus some refactoring 2022-03-08 18:58:47 -06:00
507f72db8e Rename Control's Rect properties to exclude rect_ part 2022-03-08 16:30:35 +00:00
f7a809603c ThorVG: Sync with upstream 0.8.0 2022-03-08 06:30:31 -08:00
8c3d8b12ed Merge pull request #58853 from V-Sekai/default-arg-values 2022-03-07 10:40:42 +01:00
2eaadb1b52 Restore building web platform by enclosing resolve_function_signature. 2022-03-07 00:35:11 -08:00
53cf5eff9a Merge pull request #58847 from KoBeWi/editor_settings_mess 2022-03-07 08:38:15 +01:00
1177bd635f Merge pull request #58208 from MythTitans/fix-sphere-and-cylinder-shapes-normals-seam 2022-03-07 08:37:29 +01:00
ffd64505c5 Merge pull request #58832 from reduz/uniform-set-cache
Add a UniformSet cache
2022-03-07 07:19:58 +01:00
47f1c4f900 Merge pull request #58827 from XPhyro/cs-deconstruct
Implement `Deconstruct` methods for C# vectors
2022-03-06 22:36:45 +01:00
2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
1ebcb58e69 GDScript: Check if method signature matches the parent
To guarantee polymorphism, a method signature must be compatible with
the parent. This checks if:

1. Return type is the same.
2. The subclass method takes at least the same amount of parameters.
3. The matching parameters have the same type.
4. If the subclass takes more parameters, all of the extra ones have a
default value.
5. If the superclass has default values, so must have the subclass.

There's a few test cases to ensure this holds up.
2022-03-06 11:16:20 -03:00
b0ca03b0a2 Add a UniformSet cache
* Changed syntax usage for RD::Uniform to create faster with a single RID
* Converted render pass setup to use this in clustered renderer to test.

This is the first step into creating a proper uniform set cache system to simplify large parts of the codebase.
2022-03-06 13:03:33 +01:00
20d72e462b Implement Deconstruct methods for C# vectors
See https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/deconstruct#user-defined-types
2022-03-06 11:16:30 +03:00
7d48afa96d Add test cases for accessing parent elements from child class 2022-03-04 12:41:20 -05:00
0453e7e115 Merge pull request #58752 from akien-mga/webrtc-fix-put_packet-error 2022-03-04 17:58:40 +01:00
79bbe57244 Merge pull request #56830 from strank/parent-signals 2022-03-04 17:29:49 +01:00
1769f80547 WebRTC: Fix potential nullptr dereference in error message
This was evidently a typo. Didn't get a crash but GCC 12 raised a
`-Warray-bounds` warning:

```
In file included from ./core/io/stream_peer.h:34,
                 from ./core/io/packet_peer.h:34,
                 from ./core/multiplayer/multiplayer_peer.h:34,
                 from modules/webrtc/webrtc_multiplayer_peer.h:34,
                 from modules/webrtc/webrtc_multiplayer_peer.cpp:31:
In member function 'T* Ref<T>::operator->() [with T = WebRTCMultiplayerPeer::ConnectedPeer]',
    inlined from 'virtual Error WebRTCMultiplayerPeer::put_packet(const uint8_t*, int)' at modules/webrtc/webrtc_multiplayer_peer.cpp:376:4:
./core/object/ref_counted.h:101:24: error: array subscript 0 is outside array bounds of 'Ref<WebRTCMultiplayerPeer::ConnectedPeer> [0]' [-Werror=array-bounds]
  101 |                 return reference;
      |                        ^~~~~~~~~
```
2022-03-04 16:02:40 +01:00
bb8c4acdc9 Merge pull request #58185 from V-Sekai/explicit_variant_assignment_fix 2022-03-04 14:56:38 +01:00
e133adeb8c Merge pull request #58201 from V-Sekai/debugger_locals 2022-03-04 14:50:56 +01:00
4bbd7417c4 Merge pull request #58320 from mphe/fix_object_typed_arrays 2022-03-04 14:49:06 +01:00
a4195a3ea8 Merge pull request #58250 from V-Sekai/typed_array_fix 2022-03-04 14:48:40 +01:00
d31aaed172 Merge pull request #58626 from groud/fix_gdscript_analyser_crash 2022-03-04 14:15:59 +01:00
0ff45dd3a7 Merge pull request #58673 from Calinou/smooth-trimesh-collision-always-setting 2022-03-04 12:25:36 +01:00
9b94a1dc4a Merge pull request #58670 from KoBeWi/internal_debugger 2022-03-04 10:44:56 +01:00
eaddb79ec6 Refactor bbcode_to_xml into multiple specific methods
The specific `_append_xml_*` methods implement the logic that generates
the proper XML documentation for the given BBCode tag and target and
appends it to the output.
2022-03-03 23:35:10 +01:00
84615b4b53 Find inherited members in C# documentation generator 2022-03-03 19:53:06 +01:00
42989befd6 Add theme_item support to C# documentation generator 2022-03-03 18:54:49 +01:00
e601c9eb8f Fix checking for @GlobalScope in C# documentation generator 2022-03-03 18:54:41 +01:00
424817039a Check for missing methods/members in C# documentation generator
- Outputs errors for missing members or methods when generating the C#
documentation.
- Hardcodes a special case for the `_init` method, in C# we'll reference
the constructor.
- Ignores properties with slashes (since they are not declared in C# and
can't be referenced in the documentation).
2022-03-03 18:53:15 +01:00
47a7d85cc4 Fix references to global constants in C# documentation generator
Tries to find the referenced constants in the GlobalScope
if not found in the target class or if no class is specified.
2022-03-03 18:53:15 +01:00