Age | Commit message (Collapse) | Author |
|
Add Vector2/3 sign and posmod functions, axis, docs, misc additions
|
|
This reverts commit e2c3bbabb0a12f58585bb441d91ee8882225b0ee.
This was superseded by #29871 which adds more crypto features with a
dedicated interface.
Since this commit was never in a stable release (merged during 3.2 dev),
we revert it to avoid having to deprecate it in favor of the Crypto API.
See https://github.com/godotengine/godot/pull/31187#issuecomment-523377965
|
|
|
|
Crypto classes will be placed in core/crypto.
|
|
Also make the docs more consistent, add Axis enum to Vector2, add > and >=. and C# also gets % and an override for vector-vector mod.
|
|
Condensed some if and ERR statements. Added dots to end of error messages
Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
|
|
|
|
These silently fail, so they should be removed. I accidentally added most of these last year, trying to make everything else consistent with Quat, sorry!
Also, a few tiny nitpicking changes are included, like whitespace and misspellings.
|
|
|
|
|
|
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
|
|
|
|
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.
To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.
If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.
Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
|
|
Make second parameter of substr optional
|
|
Expose String.http_escape and String.http_unescape
|
|
Improved documentation of rsplit Method for String class.
Removed "divisor" (i will also change variants_call.cpp) and added "delimiter" in its place. Also moved the example at the bottom of the description.
|
|
|
|
Added move_toward functions for float, Vector2 and Vector3
|
|
Supersedes #27736.
|
|
|
|
|
|
Add SHA256 for PoolByteArray
|
|
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
|
|
Added method to retrieve a direction vector from one point to another
|
|
|
|
|
|
|
|
|
|
Fixes #25316.
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
|
|
#20488 core dictionary get key
|
|
Added .get() method to Dictionary class in GDScript to return the value if the key exists, or return Null if the key does not exist.
|
|
The return_type is used by the GDScript parser (and possibly other
scripting languages), so it MUST be initialized at least.
It could be initialized to Variant::NIL in release, but I see no reason
for not setting the actual value.
See similar issue in 95dfa5b .
|
|
|
|
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
|
|
(or null if data is not of compatible type or empty array). Closes #15697
|
|
Rename Plane constants, add to Mono
|
|
But I'm not tagging PR as [Core] or [Mono] due to it being a minor change anyway.
|
|
They were introduced in #14704 but need more discussion IMO,
they don't strike me as core features that would have to be
registered in Variant directly.
Moreover, they currently break the documentation XML as string
constants end up encoded as e.g. `value=""..""`.
|
|
|
|
Dictionary: remove erase_checked(key), make erase(key) return bool
|
|
|
|
|
|
|
|
[Core] [Mono] Fix Color missing int export methods, added 64-bit
|
|
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
|
|
|
|
Also fix binding of Basis.slerp
|