Age | Commit message (Collapse) | Author |
|
|
|
As a cryptographically secure random generator.
Internally it uses mbedTLS CTR-DRBG implementation which gets re-seeded
with entropy from OS::get_entropy when needed.
CryptoCore now additionally depends on `ctr_drbg.c` and `entropy.c`
thirdparty mbedtls files.
|
|
Implemented via `BCryptGenRandom` on Windows.
Implemented via `getentropy` syscall when available.
Implemented via `/dev/urandom` device as a fallback.
The `/dev/urandom` fallback can be disabled via the `NO_URANDOM` build
flag.
Note: The HTML5 version relies on emscripten file system urandom
device which itself uses the Crypto API when available or the plain
old not crypto-safe `Math.random()` otherwise.
Restore get_entropy.
|
|
Implement `cubic_interpolate()` as MathFunc for refactoring
|
|
|
|
|
|
* Reuse was not setting the internal index.
* Supersedes #52599, without re-reading all properties.
|
|
|
|
|
|
|
|
|
|
|
|
feature tag
|
|
-Creating from object pointer via funcptr API was missing reference initialization.
-Supersedes https://github.com/godotengine/godot-cpp/pull/662
-Fixes several crashes in GDExtension
|
|
Converts float literals from double format (e.g. 0.0) to float format (e.g. 0.0f) where appropriate for 32 bit calculations.
|
|
|
|
Using codespell 2.2-dev from current git.
Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
|
|
[Debugger] Move most profilers to ServersDebugger, fix core includes.
|
|
|
|
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.
|
|
|
|
|
|
|
|
|
|
* Explain where it should be used, with examples.
* Clarify that it should _not_ be used everywhere, only where needed.
* Supersedes #57720
This PR is the result of the discussion that happened in a contractor meeting, and it attempts to clarify the intended use for this macro for other contributors.
As a personal note, It is my view that other approaches to using SNAME (like having a global or per class table of string names) are mere overengineering without any real benefit (performance remains the same, and usage of stringnames becomes more cumbersome. Additionally, there was not any significant amount of errors in name mismatching as a result of using strings since Godot was open sourced).
|
|
Refactor auto-instantiation of `Object` properties in editor
|
|
required for GDExtension TextServer implementation.
|
|
|
|
This was changed in #56943 to allow adding new importers from plugins that
take precedence over built-in ones, but this should be opt-in, not the default
behavior.
Fixes #57730.
|
|
Remove a cross include from a_star.cpp
|
|
|
|
Forcing draw during debug break is now handled by ServersDebugger, and
only happens when the proper message is sent from the EditorDebugger
("servers:draw").
In a similar way, briging the window in foreground is now also handled
by ServersDebugger upon receiving "servers:foreground" which is sent by
the EditorDebugger when resuming from a break ("continue").
|
|
Also splits bandwidth/rpc profiler (RPCProfiler is now in
SceneDebugger).
|
|
Uses GDExtension, replaces old Callable system for profilers, and is
also used internally.
|
|
* Vector2i and Vector3i mul/div by a float results in Vector2 and Vector3 respectively.
* Create specializations to allow proper bindings.
This fixes #44408 and supersedes #44441 and keeps the same rule of int <op> float returnig float, like with scalars.
|
|
|
|
Make add_importer and add_post_importer_plugin override existing importers.
|
|
[Net] Move RPC, Node cache out of MultiplayerAPI.
|
|
Add fflush to error macros
|
|
CRASH_NOW macros would previously crash before outputting any error messages. This PR ensures calling fflush for stdout before terminating.
|
|
* Implementing this function efficiently is not really possible.
* Replaced by an option to get all RIDs into a buffer for performance.
|
|
Faster CVTT by lowering default quality
|
|
Fix Expression's parsing of positive exponent literals
|
|
|
|
Now correctly erases old instances.
The code will likely need overhaul anyway to be usable.
It doesn't apply to editor runs, there's a bunch of inconsistencies on
how to clients are handled, and I don't really understand why multiple
instances are created for a single client/server.
|
|
Now uses two interfaces so it can be overridden in the future, and
core no longer depends on Node.
The interfaces are implements in scene/multiplayer.
Replaces root_node with root_path.
Remove all Node references from MultiplayerAPI.
|
|
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
|
|
|
|
|
|
Some were declared as structs (public by default) and others as classes
(private by default) but in practice all these math types exposed as
Variants are all 100% public.
|