Commit Graph

233 Commits

Author SHA1 Message Date
02e6c0ab95 Fix String::begins_with when both strings are empty
(cherry picked from commit 3026b566b0)
2024-03-11 18:08:11 +01:00
c17688fa6c Fix running tests in template builds
Also fixes some errors with 3D disabled
2024-02-27 16:03:18 +01:00
ad57a98eb0 [Core] Fix AABB.encloses failing on shared upper bound
This differs from `Rect2(i)` and was fixed for those classes in the past

(cherry picked from commit b4191bf8f6)
2024-01-25 18:56:36 +01:00
0224a60b43 Added error to catch conversion on invalid image
(cherry picked from commit dec2269bca)
2024-01-24 15:56:50 +01:00
c0808d5083 fix assignment to vec2 tests 2023-10-25 20:57:45 +02:00
897ff71156 Merge pull request #76244 from kgrubbs22/variant-test-updates
Added Unit Tests for Variant for Operator Overloading
2023-10-16 10:37:40 +02:00
5cd7ca0ccc Do not replace starting digit with underscore when making identifier 2023-10-04 08:05:04 -05:00
3a39de4e2f Add rotate_toward and angle_difference to GDScript and C# 2023-10-01 22:19:42 +02:00
3ec673085b Merge pull request #79523 from aaronfranke/is-conformal
Add `is_conformal` method to Basis and Transform2D
2023-09-26 13:44:41 +02:00
bcfb2c0089 Simplify Geometry3D tests 2023-09-25 01:54:22 -05:00
721cac4a38 Merge pull request #81456 from AThousandShips/test_fix
Fix errors when testing `Resource`
2023-09-14 15:21:37 +02:00
56806ffeed Add is_conformal method to Basis and Transform2D 2023-09-13 17:20:30 -05:00
38ca83e16f Merge pull request #81464 from AcatXIo/fix-sign-nan
Fix `SIGN(NAN)` returning 1
2023-09-12 12:01:39 +02:00
7d69a5ba50 Fix sign(NAN) returning 1.
Fixes #79036. sign(NAN) now returns 0.
This should not impact performance much in any way.
Adds a test for the NAN case. Updates the documentation to clarify the new behavior.
2023-09-09 11:30:11 +02:00
7726ed6740 Fix errors when testing Resource
Replaces `get_meta` with `has_meta` for cases where the meta is expected
to be empty.
2023-09-09 08:20:05 +02:00
22e2696767 Add unit tests for type_convert Variant utility function 2023-09-08 10:13:22 -05:00
11518665b7 Codestyle: Don't use auto where not warranted
We allow using auto for lambdas or complex macros where a return type
may change based on the parameters. But where the type is clear, we
should be explicit.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-09-07 16:15:18 +02:00
2b3bbde6da [String] Fix string conversion for -0.0 float values. 2023-09-05 11:32:55 +03:00
528a76486c Add inverse hyperbolic functions asinh(), acosh() & atanh()
GDScript has the following built-in trigonometry functions:

- `sin()`
- `cos()`
- `tan()`
- `asin()`
- `acos()`
- `atan()`
- `atan()`
- `sinh()`
- `cosh()`
- `tanh()`

However, it lacks the hyperbolic arc (also known as inverse
hyperbolic) functions:

- `asinh()`
- `acosh()`
- `atanh()`

Implement them by just exposing the C++ Math library, but clamping
its values to the closest real defined value.
For the cosine, clamp input values lower than 1 to 1.
In the case of the tangent, where the limit value is infinite,
clamp it to -inf or +inf.

References #78377
Fixes godotengine/godot-proposals#7110
2023-09-01 01:27:56 +02:00
8edc0b43b9 Merge pull request #78634 from Sauermann/fix-notification-order
Fix `Object::notification` order
2023-08-30 08:44:36 +02:00
c4705a590b Fix Object::notification order
Previously the `p_reversed` parameter didn't influence the order
in a correct way.
Also script overridden _notification functions were not called in
the correct order.

To fix this some `notification` functions had to add a `p_reversed`
parameter.

This made it necessary to adjust cpp-bindings.

Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-08-30 00:15:55 +02:00
0045dc204c Revert "Implement loading DDS textures at run-time"
This reverts commit 34ab1c8a36.
2023-08-29 14:25:16 +02:00
67db4693eb Expose _validate_property() for scripting 2023-08-28 15:18:48 +02:00
c3fd8752d2 Merge pull request #80612 from akien-mga/scons-disable-exception-handling
SCons: Disable C++ exception handling
2023-08-16 16:56:07 +02:00
20e24bd2bb Merge pull request #78529 from Chaosus/string_reverse
Add `String.reverse` method
2023-08-16 16:53:40 +02:00
3907e53ff6 SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:23:34 +02:00
b78d52b693 Merge pull request #75694 from YuriSizov/editor-hot-singleton-interfaces-in-your-area
Make `EditorInterface` accessible as a singleton
2023-08-10 14:53:35 +02:00
951ea2415b Make EditorInterface accessible as a singleton
- EditorPlugin.get_editor_interface() is removed as redundant.
2023-08-09 16:01:31 +02:00
835957b1fc Merge pull request #79980 from bruvzg/fix_test_str_errs
[String] Fix Unicode parsing error message encoding and related JSON tests.
2023-08-09 15:20:16 +02:00
169a28bd0f Merge pull request #80362 from Calinou/string-use-unicode-compiletime
Use compile-time Unicode string conversion
2023-08-07 14:55:58 +02:00
432405a3e1 Merge pull request #79342 from RedworkDE/localize-win-path
Fix `ProjectSettings::localize_path` for Windows paths
2023-08-07 14:45:48 +02:00
66e40e402a Merge pull request #79331 from azuloo/translation-server-test-suite
Add a test suite for TranslationServer
2023-08-07 14:45:24 +02:00
e9f723006a Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
34ab1c8a36 Implement loading DDS textures at run-time 2023-07-31 21:31:26 +02:00
84a6f0d232 [String] Fix Unicode parsing error message encoding and related JSON tests. 2023-07-28 12:27:01 +03:00
f34d580861 Revert "Implement parallel foreach() for easier multithreading"
This reverts commit e28868e30c.
2023-07-27 13:41:27 +02:00
53ba9ccb19 Merge pull request #72346 from myaaaaaaaaa/disconnect-order
Avoid sorting CallableCustomMethodPointers by their actual address values
2023-07-26 18:39:08 +02:00
aee1e50b48 Fix ProjectSettings::localize_path for Windows paths 2023-07-26 16:18:31 +02:00
b8a29f71e5 Merge pull request #79444 from Miguel0312/TestInputEvent
Add a test suite to InputEvent
2023-07-21 17:54:35 +02:00
c2ad5ca435 Added tests to InputEvent 2023-07-17 17:48:34 +02:00
3d04a22d7c Merge pull request #79103 from AThousandShips/array_slice_range
Fix range error for `Array.slice`
2023-07-17 16:48:48 +02:00
058604f5b8 Fix crash when saving resources with circular references
When saving resources, marking of already seen resources was
done too late, causing infinite loop traversing referenced resources
and eventual stack overflow. The change marks traversed resource
before descending to it's children, thus when this resource is
encountered again, it is already marked as seen and traversal stops.
2023-07-14 19:20:04 +02:00
2a595c26d9 Merge pull request #72784 from myaaaaaaaaa/parallel-foreach
Implement parallel `foreach()` for easier multithreading
2023-07-14 18:48:49 +02:00
e88934cb74 Merge pull request #74238 from bitsawer/fix_image_convert
Fix `Image.convert()` overwriting custom mipmaps
2023-07-12 17:15:39 +02:00
f6d568b9e4 Merge pull request #66170 from RedMser/json-fix-invalid-escapes
Disallow invalid escape sequences in `JSON.parse`
2023-07-12 15:08:29 +02:00
dd0bd90865 Add a test suite for TranslationServer 2023-07-11 14:30:53 +03:00
cc5500f7de Fix erroneous pad_zeros warning 2023-07-08 16:16:01 +03:00
7752a0d8d1 Fix range error for Array.slice 2023-07-07 23:19:42 +02:00
427b293c7d Disallow invalid escape sequences in JSON.parse 2023-06-30 21:28:36 +02:00
100082b3ac Merge pull request #74760 from lassade/unicode-err-uses-replacement-char
Don't append non unicode scalar values on the string, instead use the unicode replacement char
2023-06-22 18:30:04 +02:00