Age | Commit message (Collapse) | Author |
|
Fix multiple issues with CSG module.
|
|
Removed ResourceInteractiveLoader, add built-in threaded loading.
|
|
|
|
Those were problematic as they call a method of their parent class,
but callable_mp does not allow that unless it's public.
To solve it, we declare a local class that calls the parent class'
method, which now needs to be protected to be accessible in the
derived class.
|
|
It's tedious work...
Some can't be ported as they depend on private or protected methods
of different classes, which is not supported by callable_mp (even if
it's a class inherited by the current one).
|
|
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.
No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
|
|
Mention the `duration` parameter unit in `UPNP.add_port_mapping()`
|
|
Rename Navigation{Mesh,Polygon}Instance and PlaneShape for clarity
|
|
Improve the RegEx class documentation
|
|
Add a practical example for `@GDScript.linear2db()`
|
|
Improve the `@GDScript.inverse_lerp()` documentation
|
|
Reimplement `Mutex` with C++'s `<mutex>` (plus more)
|
|
This closes https://github.com/godotengine/godot-docs/issues/2522.
|
|
|
|
One of its most common applications in games is for volume sliders.
See https://www.dr-lex.be/info-stuff/volumecontrols.html for
more information.
|
|
This closes https://github.com/godotengine/godot-docs/issues/2589.
|
|
Allow using Rider MSBuild on Windows, when Rider is selected as external editor
|
|
|
|
|
|
|
|
|
|
Fix autocomplete and highlighting for new integer types
|
|
Types include new integer types and others
|
|
Bullet: Fix detection of concave shape in Area
|
|
Main:
- It's now implemented thanks to `<mutex>`. No more platform-specific implementations.
- `BinaryMutex` (non-recursive) is added, as an alternative for special cases.
- Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes.
- Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts.
- A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this.
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- Thread-safe utilities are therefore simpler now.
Misc.:
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
- Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock).
- `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
|
|
|
|
Flushes commands just before the navigation server is destroyed
|
|
|
|
Improve LSP completion using scene owner
|
|
Fixes: #36473
|
|
Fixed remove region method.
|
|
|
|
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.
Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.
For Variant, the float datatype is always 64 bits, and exposed as `float`.
We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.
Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
|
|
|
|
|
|
Changed default capsule axis to vertical
|
|
Co-authored-by: Hugo Locurcio <https://hugo.pro>
|
|
|
|
Fix suspicious | and + operators
|
|
|
|
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
|
|
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.
Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.
Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
|
|
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous
operator problems in Variant.
This was added for this commit (and future C++17 uses) in #36457.
|
|
|
|
- Replaces BuildPoly with Build2DFaces, which creates faces as each
pair of face intersections are processed, instead of trying to create
them after all the intersections are processed. Ensures that faces are
merged when possible, and removes degenerate triangles.
- Treats the child as inside the parent when faces are coplanar.
- General clean up of csg.h and csg.cpp.
|
|
Also changed all relevant properties defined manually to StringName.
|
|
|
|
|
|
objects and made them default.
|
|
This is needed because of the new changes to Variant. The reference
counter is increased by adding it to a Variant, which means no GDScript
will be freed (or will be double freed if manually freed somewhere).
|