Age | Commit message (Collapse) | Author |
|
* 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.
|
|
Revert #52647 (Don't update CSG Shape when not inside tree)
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MythTitans/fix-sphere-and-cylinder-shapes-normals-seam
|
|
Add a UniformSet cache
|
|
Implement `Deconstruct` methods for C# vectors
|
|
|
|
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.
|
|
* 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.
|
|
See https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/deconstruct#user-defined-types
|
|
|
|
|
|
|
|
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;
| ^~~~~~~~~
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
- 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).
|
|
Tries to find the referenced constants in the GlobalScope
if not found in the target class or if no class is specified.
|
|
|
|
Describe usage of float in range documentation
|
|
This ensures the project setting never disappears from the editor,
even if the current physics engine is GodotPhysics.
This also adds documentation for the Smooth Trimesh Collision
project setting.
|
|
|
|
|
|
|
|
|