Age | Commit message (Collapse) | Author |
|
Remove `Color.contrasted()` as its behavior is barely useful
|
|
Includes various changes triggered by the refactoring of method bindings.
|
|
Returning the most contrasting color isn't a trivial task, as there
are often many possible choices. It's usually best left for the user
to implement using a script.
|
|
|
|
This is useful to showing error messages when a pointer to an
InternalMethod is the only information available.
|
|
Removed make_binders and the old style generated binders.
|
|
Moved to a system using variadic templates, shared with CallableBind.
New code is cleaner, faster and allows for much better optimization of core
type functions from GDScript and GDNative.
Added Variant::InternalMethod function for direct call access.
|
|
|
|
|
|
HttpRequest now handles gzipping response bodies
|
|
p_self._data.packed_array needs to be used instead of p_self._data._mem
printline
|
|
|
|
Added request_raw to HttpRequest
Added decompress_dynamic to Compression class
Added decompress_dynamic to BytePoolArray
Merge doc fix
revert
|
|
|
|
|
|
Also a few minor API changes like adding AABB.abs()
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
|
|
|
|
|
|
- Fixed floating point issue on the old one.
- Fixed the equation on the get_euler_yxz function.
- Added unit tests.
This work has been kindly sponsored by IMVU.
|
|
|
|
|
|
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
|
|
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.
This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.
There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).
Part of #33027.
|
|
GDScript: Add join method on String
|
|
Part of #33027.
|
|
Docs: Add join on String.xml
|
|
Add a Color constructor for Color with alpha
|
|
Fix: #38528
|
|
|
|
|
|
|
|
|
|
* Updated macro call to make the visual Dictionary Erase node sequenced.
|
|
Doctool and core: Fix return type in docs for some Variant methods...
|
|
PROPERTY_USAGE_NIL_IS_VARIANT to MethodInfo usage when we have something to return
|
|
EngineDebugger is the new interface to access the debugger.
It tries to be as agnostic as possible on the data that various
subsystems can expose.
It allows 2 types of interactions:
- Profilers:
A subsystem can register a profiler, assigning it a unique name.
That name can be used to activate the profiler or add data to it.
The registered profiler can be composed of up to 3 functions:
- Toggle: called when the profiler is activated/deactivated.
- Add: called whenever data is added to the debugger
(via `EngineDebugger::profiler_add_frame_data`)
- Tick: called every frame (during idle), receives frame times.
- Captures: (Only relevant in remote debugger for now)
A subsystem can register a capture, assigning it a unique name.
When receiving a message, the remote debugger will check if it starts
with `[prefix]:` and call the associated capture with name `prefix`.
Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new
profiler system.
Port SceneDebugger and RemoteDebugger to the new capture system.
The LocalDebugger also uses the new profiler system for scripts
profiling.
|
|
|
|
|
|
- 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.
|
|
Arrays inside of Variant are unique and use reference counting.
When you assign a variant containing a packed array to another, or
when you call non const functions to arrays, this will work even
if the array is inside a dictionary, so they will from now pass
as reference.
The difference with regular variant arrays is that, once passed
to a function in the C++ API, they are no longer shared. This is
required for security and thread safety, as those arrays are
mainly used to pass data back and forth even between threads.
|
|
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.
|
|
Also changed all relevant properties defined manually to StringName.
|
|
objects and made them default.
|
|
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
|
|
|
|
It was marked to be removed in Godot 3.1.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
|
|
Happy new year to the wonderful Godot community!
We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.
Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
|
|
|
|
Fixes being unable to use the Quat(Vector3) constructor
|
|
Make is_equal_approx separate and make == exact again
|