Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
...
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Adam Johnston
3ac043c508
Add fuzzy string matching to quick open search
...
Co-authored-by: sam <samsface@gmail.com>
2024-10-28 11:24:36 -07:00
Haoyu Qiu
f451997666
Fix duplicated entries in `TranslationServer::get_loaded_locales()`
2024-10-26 15:10:43 +08:00
Thaddeus Crews
6e9907d483
Merge pull request #92554 from Nazarwadim/implement_a_hash_map
...
Implement array based hash map `AHashMap`
2024-10-25 13:03:45 -05:00
Adam Scott
0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Clay John
33db590947
Merge pull request #98357 from yeojunh/valid-base-check-num-int64-uint64
...
Core: Fix String::num_int64(), uint64 for valid base check
2024-10-24 19:41:43 -07:00
nazarii
76208f7155
Implement array based hash map
2024-10-24 21:34:12 +03:00
kobewi
5c0f2414cd
Always add decimal when printing float
2024-10-23 15:00:21 +02:00
yeojunh
b3b24ded19
Add checks for valid base in String::num_int64, uint64().
...
- Ensure String::num_int64, uint64 returns an empty string for bases less than 2 or greater than 36.
- Added corresponding test cases to verify the behavior.
- Error messages are printed when invalid bases are encountered. These messages are suppressed in the test output.
2024-10-20 00:22:08 -07:00
A Thousand Ships
610635e1c8
Add test
2024-10-18 08:47:29 +02:00
Pablo Andres Fuente
0b258e69f3
Add unit tests for String::parse_url()
2024-10-01 17:09:22 -03:00
Rémi Verschelde
a7d0464e9e
Merge pull request #95931 from pafuent/adding_packet_peer_tests
...
Add unit tests for `PacketPeer`
2024-10-01 17:30:36 +02:00
Rémi Verschelde
d71d95448c
Merge pull request #95784 from pafuent/adding_stream_peer_buffer_tests
...
Add unit tests for `StreamPeer` and `StreamPeerBuffer`
2024-10-01 17:30:33 +02:00
Pablo Andres Fuente
ff10dee946
Add unit tests for StreamPeer and StreamPeerBuffer
...
Partially fixes #43440
2024-10-01 12:25:11 -03:00
Pablo Andres Fuente
0a41a715da
Add unit tests for PacketPeer
...
Partially fixes #43440
2024-10-01 12:19:41 -03:00
Haoyu Qiu
6516ca6b11
Parse fragment from URL
2024-09-27 19:42:30 +08:00
Haoyu Qiu
a751c05b15
Fix script editor wrongly replaces and quotes non-ASCII letters
2024-09-23 00:05:16 +08:00
Rémi Verschelde
6bf8a3e3f8
Merge pull request #95449 from SlashScreen/array_functions
...
Add callable support for `find` and `rfind` `Array` methods
2024-09-20 16:06:13 +02:00
Rémi Verschelde
f7daa0fb2f
Merge pull request #96856 from RandomShaper/selfdestruct_correctness
...
Object: Let debug lock handle callee destruction within call chain gracefully
2024-09-16 13:35:06 +02:00
Pedro J. Estébanez
bb77520599
Object: Add tests about the safety of tail destruction
2024-09-16 09:58:47 +02:00
Slashscreen
89491f4403
Add callable support for `find` and `rfind` `Array` methods
2024-09-13 00:01:53 -07:00
Rémi Verschelde
d1caac5e75
Merge pull request #93856 from timothyqiu/expression-period
...
Fix parsing of `4.` in Expression
2024-09-11 12:34:39 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
A Thousand Ships
194bdde947
Cleanup of raw `nullptr` checks with `Ref`
...
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Rémi Verschelde
ce069e4567
Merge pull request #96291 from miv391/string-unit-tests
...
Add more unit tests for String `insert` and `join`.
2024-08-30 09:59:47 +02:00
Rémi Verschelde
4c6bac15a3
Merge pull request #92656 from fire/vsk-json-to-native-4.3
...
Ability to convert native engine types to JSON and back.
2024-08-30 09:58:57 +02:00
rune-scape
154049ce17
StringName Dictionary keys
...
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
K. S. Ernest (iFire) Lee
71bdbcdfb1
Ability to convert native engine types to JSON and back.
...
Implements support for all engine types in JSON encoding/decoding
Co-Authored-By: Juan <reduzio@gmail.com>
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-08-29 10:57:15 -07:00
demolke
c409e6d722
Import/export GLTF extras to node->meta
...
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.
- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
Mika Viskari
3153e9afda
Added more unit tests for String insert and join.
2024-08-29 20:05:44 +03:00
Haoyu Qiu
8bf4ecc026
Add `String.is_valid_unicode_identifier()`
...
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Rémi Verschelde
80935234f4
Merge pull request #93134 from AThousandShips/default_bind_check
...
[Tests] Ensure all default method arguments can be encoded
2024-08-26 23:28:29 +02:00
Aaron Franke
7db24a9ad5
Simplify and fix Rect2/AABB get_support function
2024-08-19 23:55:31 -07:00
Rémi Verschelde
49e5fbfbd2
Merge pull request #95184 from jsjtxietian/shader-include-relative
...
Fix `String::simplify_path` handling of relative paths to parent dir (`../`), fixes relative shader includes
2024-08-17 00:46:11 +02:00
A Thousand Ships
61998b1a05
[Tests] Ensure all default method arguments can be encoded
...
Checks that all arguments of bound methods can be encoded in extensions, checking non-empty or non-null cases for containers and objects
2024-08-16 19:57:03 +02:00
Rémi Verschelde
803dfcc3cb
Merge pull request #95613 from timothyqiu/split-empty
...
Fix `split_floats` behavior when spaces are used as separators
2024-08-16 14:36:40 +02:00
Haoyu Qiu
f483c3aafa
Fix split_floats behavior when spaces are used as separators
2024-08-16 17:30:44 +08:00
Haoyu Qiu
7343dc3a5d
Split TranslationServer into its own file
2024-08-15 15:00:47 +08:00
Aaron Franke
5ced75aeb1
Fix Vector4, Vector4i, and Projection missing from ClassDB tests
2024-08-14 02:59:59 -07:00
jsjtxietian
6cf9af2817
Fix error when use relative #include in .gdshader / .gdshaderinc file
2024-08-08 11:59:14 +08:00
Hugo Locurcio
0445ccf428
Fix Image CowData crash when baking large lightmaps
...
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.
VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +02:00
A Thousand Ships
832695eb2c
[Tests] Fix various unit tests on minimal builds
2024-07-18 15:17:28 +02:00
A Thousand Ships
ea2e6be0a6
[Tests] Fix some invalid error messages
...
These used `utf8().get_data()` when they should be passed as `String`
2024-07-10 15:57:52 +02:00
Haoyu Qiu
ee9cea521d
Fix parsing of `4.` in Expression
2024-07-02 20:53:52 +08:00
A Thousand Ships
17929a3443
[Tests] Fix unit tests in template builds
2024-06-29 18:35:50 +02:00
Rémi Verschelde
3d8562d775
Merge pull request #89197 from AThousandShips/arr_typed_fix
...
[Core] Fix sharing of typed arrays from constructor
2024-06-26 18:15:09 +02:00
kobewi
5514b2c70c
Use subfolder for temporary test files
2024-06-05 20:31:42 +02:00
Rémi Verschelde
972181d701
Merge pull request #90506 from Calinou/test-transform2d-add-more-tests
...
Add more unit tests for Transform2D
2024-05-29 22:13:35 +02:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
lawnjelly
b35264ad95
Fix AABB Ray intersection - return inside
...
* Separates find_intersects from test_intersects for rays, and wraps the former.
* Changes parameter name to "r_intersection_point".
* Fixes broken old version which returned per axis t.
* Returns whether the ray origin is within the AABB.
* Returns intersection point when origin outside.
* Returns "backtracking" intersection point when inside.
* Returns sensible normal when inside.
* Returns valid results on borders.
* Returns robust results dealing with floating point error.
Co-authored-by: Claire Blackshaw <evilkimau@gmail.com>
2024-05-09 20:41:19 +01:00
Rémi Verschelde
a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
...
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive `String::containsn`
2024-05-08 12:48:01 +02:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
...
Found by apply the file_format checks again via #91597 .
2024-05-08 10:12:46 +02:00
Rémi Verschelde
4c30718102
Merge pull request #91615 from Frozenfire92/remap-doc-nan-note
...
Add docs note about remap returning undefined when istart == istop
2024-05-08 09:54:20 +02:00
Joel Kuntz
26feefa91c
Add notes for remap's return when istart and istop are the same
...
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
Co-Authored-By: kleonc <9283098+kleonc@users.noreply.github.com>
2024-05-07 19:37:29 -03:00
Wilson E. Alvarez
d4154dbc55
Add const char * overloads to String class
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-05-07 10:53:00 -04:00
A Thousand Ships
09460d33e6
[Core] Fix sharing of typed arrays from constructor
2024-05-07 09:52:17 +02:00
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
...
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
A Thousand Ships
86de59d60a
[Core] Add `LocalVector::has` for convenience
2024-05-06 18:03:37 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
K. S. Ernest (iFire) Lee
f9b488508c
Add PackedVector4Array Variant type
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
kit
cb17798df3
Add Array and Variant list inializer
2024-05-02 15:35:17 -04:00
killzebug
53a95d6a00
Suppressed expected errors for uncached resources.
2024-04-22 23:50:20 +03:00
Ricardo Buring
8a28f816d0
Replace Clipper1 library by Clipper2 library
2024-04-20 13:37:59 +02:00
Rémi Verschelde
0f7452fedd
Merge pull request #61013 from Calinou/test-add-transform3d
...
Add rotation unit tests for Transform3D
2024-04-19 16:26:31 +02:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
A Thousand Ships
80cb914e06
[Core] Fix incorrect comparison for `Array` const iterator
2024-04-13 17:32:33 +02:00
Alex Billedeaux
f421d20280
Add `closest_points_between_segments()` basis path tests for Geometry2D
2024-04-10 23:49:23 +02:00
titus125
ca3ff2b89e
Add more unit tests for Transform2D
2024-04-10 23:17:15 +02:00
Hugo Locurcio
4e6de25540
Add rotation unit tests for Transform3D
...
Co-authored-by: Alexander Pruss <alex.pruss@gmail.com>
2024-04-10 22:27:14 +02:00
Rémi Verschelde
83b916bb00
Fix a doc and a test issue not caught by CI
2024-04-10 18:49:02 +02:00
Pedro J. Estébanez
1b104ffcd8
WorkerThreadPool: Support daemon-like tasks (via yield semantics)
2024-04-10 18:47:42 +02:00
Rémi Verschelde
5bd2af6c38
Merge pull request #90313 from Nazarwadim/unit_tests_oa_hash_map
...
Add unit tests for `OAHashMap`
2024-04-10 17:49:29 +02:00
A Thousand Ships
64146cb7f3
[Core] Add iteration support to `Array`
2024-04-10 14:49:34 +02:00
RevoluPowered
65d076b78d
Add unit test for resolve_hostname
2024-04-10 14:19:04 +02:00
nazarii
0c8e1c69f8
Add unit tests for OAHashMap
2024-04-10 07:51:06 +03:00
nazarii
b8caf9b224
Add unit test for Vector2 plane_project
2024-04-05 21:57:01 +03:00
Rémi Verschelde
c5ac5d2308
Merge pull request #90063 from aaronfranke/really-floaty
...
Fix some uses of `float` and `real_t` in `core/math`
2024-04-04 14:36:57 +02:00
Rémi Verschelde
ec5cae37d6
Merge pull request #78219 from dalexeev/core-typed-arrays-bin-serialization
...
Core: Add typed array support for binary serialization
2024-04-04 14:30:22 +02:00
Aaron Franke
158fcf107c
Fix some uses of float and real_t in core/math
2024-03-29 16:44:12 -07:00
A Thousand Ships
bb6305d1c4
[Core] Fix incorrect file sort method
2024-03-24 17:54:57 +01:00
A Thousand Ships
2cbf469912
Fix sorting of files/dirs in dialogs
...
Sorts leading `_` before other characters except `.`.
2024-03-20 13:45:47 +01:00
Danil Alexeev
c30bec7fca
Core: Add typed array support for binary serialization
2024-03-20 11:37:41 +03:00
Rémi Verschelde
a1c476f9d7
Merge pull request #87680 from AThousandShips/the_angry_count
...
Add methods to get argument count of methods
2024-03-13 22:16:43 +01:00
Rémi Verschelde
b0d07b1bc2
Merge pull request #86936 from akx/env-utf-8
...
Attempt parsing environment variables as UTF-8
2024-03-11 14:02:22 +01:00
A Thousand Ships
59bcc2888c
Add methods to get argument count of methods
...
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
2024-03-10 11:02:43 +01:00
Rémi Verschelde
d082ce908f
Merge pull request #85390 from TheSofox/merge-all-commit-fix
...
UndoRedo: Fix `MERGE_ALL` commit from repeating actions
2024-03-06 09:50:13 +01:00
Sofox
f249667dc8
Fixed MERGE_ALL commit from repeating actions
2024-03-05 23:40:26 +00:00
Mika Viskari
3026b566b0
Fix String::begins_with when both strings are empty
2024-03-05 20:46:10 +02:00
Rémi Verschelde
1cc9190c70
Merge pull request #81822 from nlupugla/nodepath-slice
...
Add `NodePath::slice` method
2024-02-29 13:53:34 +01:00
A Thousand Ships
3a707b1f54
Fix some additional errors with 3D disabled
...
* Disabled 2D navigation tests as they do not work
* Disabled tests for primitive meshes
* Unbound some `Mesh` methods that rely on 3D resources
* Unexposed `World3D` as it depends on physics (and isn't useful)
* Unexposed some `Viewport` vrs related properties that had unexposed
methods
2024-02-23 20:58:56 +01:00
A Thousand Ships
d7a72d72e6
Fix running tests in template builds
2024-02-22 18:05:42 +01:00
Danil Alexeev
c0aa88ae4f
Add Unicode support to `String.to_*_case()` methods
2024-02-22 13:58:46 +03:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
Mel Collins
8406e60522
Add InputEventKey.location to tell left from right
...
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.
It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
A Thousand Ships
b4191bf8f6
[Core] Fix `AABB.encloses` failing on shared upper bound
...
This differs from `Rect2(i)` and was fixed for those classes in the past
2024-01-12 17:58:42 +01:00
Aarni Koskela
a4c5dae8cb
Attempt to parse environment variables as UTF-8
2024-01-07 19:53:43 +02:00
Robert Yevdokimov
f9826a1dd7
Fix various spelling errors
2024-01-04 09:56:43 -05:00
Rémi Verschelde
22e880ad20
Merge pull request #83163 from Chubercik/vectorXi_dist_methods
...
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2024-01-03 09:58:36 +01:00
EddieBreeg
8747c67d9e
Fix potential integer underflow in rounded up divisions
...
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.
Fixes #80358 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
nlupugla
cd221c1816
Added NodePath::slice method.
2023-12-13 13:30:28 -05:00
Rémi Verschelde
b952b007b1
Merge pull request #84782 from rsburke4/image-fix
...
Prevent crash on conversion of invalid data in `Image`
2023-12-12 00:17:42 +01:00
rsburke4
dec2269bca
Added error to catch conversion on invalid image
2023-12-10 15:06:22 -05:00
Yuri Sizov
47cd07aa13
Merge pull request #85666 from miv391/more-unit-tests-for-string-to-number-conversions
...
Add more C++ unit tests for String to number conversions
2023-12-08 16:58:29 +01:00
Aaron Franke
7ee273723d
Fix Basis is_orthogonal and is_rotation methods, add is_orthonormal
2023-12-06 13:12:05 -06:00
Mika Viskari
5e40124d4d
Add more C++ unit tests for String to number conversions
2023-12-02 20:54:48 +02:00
SilicDev
c0808d5083
fix assignment to vec2 tests
2023-10-25 20:57:45 +02:00
Rémi Verschelde
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
Jakub Marcowski
cb954c6bab
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2023-10-12 13:46:49 +02:00
Alfonso J. Ramos
5cd7ca0ccc
Do not replace starting digit with underscore when making identifier
2023-10-04 08:05:04 -05:00
etti
3a39de4e2f
Add rotate_toward and angle_difference to GDScript and C#
2023-10-01 22:19:42 +02:00
Rémi Verschelde
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
Aaron Franke
bcfb2c0089
Simplify Geometry3D tests
2023-09-25 01:54:22 -05:00
Yuri Sizov
721cac4a38
Merge pull request #81456 from AThousandShips/test_fix
...
Fix errors when testing `Resource`
2023-09-14 15:21:37 +02:00
Aaron Franke
56806ffeed
Add `is_conformal` method to Basis and Transform2D
2023-09-13 17:20:30 -05:00
Rémi Verschelde
38ca83e16f
Merge pull request #81464 from AcatXIo/fix-sign-nan
...
Fix `SIGN(NAN)` returning 1
2023-09-12 12:01:39 +02:00
AcatXIo
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
A Thousand Ships
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
Aaron Franke
22e2696767
Add unit tests for type_convert Variant utility function
2023-09-08 10:13:22 -05:00
Rémi Verschelde
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
bruvzg
2b3bbde6da
[String] Fix string conversion for -0.0 float values.
2023-09-05 11:32:55 +03:00
Jcrespo
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
Rémi Verschelde
8edc0b43b9
Merge pull request #78634 from Sauermann/fix-notification-order
...
Fix `Object::notification` order
2023-08-30 08:44:36 +02:00
Markus Sauermann
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
clayjohn
0045dc204c
Revert "Implement loading DDS textures at run-time"
...
This reverts commit 34ab1c8a36 .
2023-08-29 14:25:16 +02:00
kobewi
67db4693eb
Expose _validate_property() for scripting
2023-08-28 15:18:48 +02:00
Rémi Verschelde
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
Rémi Verschelde
20e24bd2bb
Merge pull request #78529 from Chaosus/string_reverse
...
Add `String.reverse` method
2023-08-16 16:53:40 +02:00
Rémi Verschelde
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
Rémi Verschelde
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
Yuri Sizov
951ea2415b
Make EditorInterface accessible as a singleton
...
- EditorPlugin.get_editor_interface() is removed as redundant.
2023-08-09 16:01:31 +02:00
Rémi Verschelde
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
Rémi Verschelde
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
Rémi Verschelde
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
Rémi Verschelde
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
Hugo Locurcio
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
Marcin Nowak
34ab1c8a36
Implement loading DDS textures at run-time
2023-07-31 21:31:26 +02:00
bruvzg
84a6f0d232
[String] Fix Unicode parsing error message encoding and related JSON tests.
2023-07-28 12:27:01 +03:00
Pedro J. Estébanez
f34d580861
Revert "Implement parallel foreach() for easier multithreading"
...
This reverts commit e28868e30c .
2023-07-27 13:41:27 +02:00
Yuri Sizov
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
RedworkDE
aee1e50b48
Fix `ProjectSettings::localize_path` for Windows paths
2023-07-26 16:18:31 +02:00
Yuri Sizov
b8a29f71e5
Merge pull request #79444 from Miguel0312/TestInputEvent
...
Add a test suite to InputEvent
2023-07-21 17:54:35 +02:00
Miguel Pereira
c2ad5ca435
Added tests to InputEvent
2023-07-17 17:48:34 +02:00
Yuri Sizov
3d04a22d7c
Merge pull request #79103 from AThousandShips/array_slice_range
...
Fix range error for `Array.slice`
2023-07-17 16:48:48 +02:00
Maxim Kulkin
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
Yuri Sizov
2a595c26d9
Merge pull request #72784 from myaaaaaaaaa/parallel-foreach
...
Implement parallel `foreach()` for easier multithreading
2023-07-14 18:48:49 +02:00
Yuri Sizov
e88934cb74
Merge pull request #74238 from bitsawer/fix_image_convert
...
Fix `Image.convert()` overwriting custom mipmaps
2023-07-12 17:15:39 +02:00
Yuri Sizov
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
azuloo
dd0bd90865
Add a test suite for TranslationServer
2023-07-11 14:30:53 +03:00
MewPurPur
cc5500f7de
Fix erroneous pad_zeros warning
2023-07-08 16:16:01 +03:00
Ninni Pipping
7752a0d8d1
Fix range error for `Array.slice`
2023-07-07 23:19:42 +02:00
RedMser
427b293c7d
Disallow invalid escape sequences in JSON.parse
2023-06-30 21:28:36 +02:00
Rémi Verschelde
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
Yuri Roubinski
230385b587
Add `String.reverse` method
2023-06-21 20:40:48 +03:00
angel-721
ab4e89ecde
Add HTTPClient unit tests
2023-06-21 11:53:55 +02:00
myaaaaaaaaa
5cc961627d
Avoid sorting CallableCustomMethodPointers by their actual address values
2023-06-20 08:40:01 -04:00
Rémi Verschelde
867ea7fe59
Merge pull request #74730 from MarioLiebisch/fix-74726
...
Fix read-only dictionaries adding missing keys
2023-06-19 21:38:38 +02:00
andybarcia
553f4f8dce
Improve error reporting when parsing CSV translation file
...
Fixes #46682 .
Also fix unit test suite to separate generic FileAccess CSV testing
from using CSV as translation. And add more CSV translation tests.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-19 12:47:44 +02:00
Rémi Verschelde
1a62f1e4fc
Merge pull request #74741 from vnen/variant-not-for-everyone
...
Allow boolean operators for all Variant types
2023-06-18 16:28:10 +02:00
MewPurPur
a8412c12da
Standardize and Optimize blue robot SVG
...
Co-authored-by: Andre Vallestero <39736205+AndreVallestero@users.noreply.github.com>
2023-06-12 18:12:40 +02:00
myaaaaaaaaa
e28868e30c
Implement parallel foreach() for easier multithreading
2023-06-09 08:27:32 -04:00
Kory Postma
c8cac39446
Grayscale fix for Image::premultiply_alpha() and Image::convert(FORMAT_L8) while using REC.709, with added test case
2023-05-27 18:01:44 -05:00
myaaaaaaaaa
c996863464
Streamline WorkerThreadPool tests and make them more robust
2023-05-17 17:33:08 -04:00
Rémi Verschelde
863bcd3e2b
Merge pull request #76936 from clayjohn/revert-hsl
...
Revert "Add API for HSL conversion"
2023-05-12 10:03:21 +02:00
Rémi Verschelde
fd4a06c515
Merge pull request #76906 from lawnjelly/safe_acos4_2
...
Make acos and asin safe
2023-05-11 13:33:37 +02:00
lawnjelly
50c5ed4876
Make acos and asin safe
...
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.
The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 08:34:34 +01:00
clayjohn
f83a90192f
Revert "Add API for HSL conversion"
...
This reverts commit 0b7fd664c1 .
2023-05-10 17:45:56 -03:00
Rémi Verschelde
703a3ce7ad
Merge pull request #76830 from ajreckof/fix_wrapf_CI_with_too_big_float
...
fix a test for wrapf with signed 32-bit float
2023-05-10 10:20:03 +02:00
Rémi Verschelde
6bca6beea3
Merge pull request #76878 from RedworkDE/tests-fix-errors
...
Fix various errors when running the unit tests
2023-05-09 19:28:54 +02:00
Rémi Verschelde
0f444f101a
Merge pull request #76661 from bonjorno7/hsl
...
Add API for HSL conversion
2023-05-09 19:28:35 +02:00
RedworkDE
8e7afec479
Fix various errors when running the unit tests
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-05-09 18:40:56 +02:00
bonjorno7
0b7fd664c1
Add API for HSL conversion
...
Math ported pretty much 1:1 from https://en.wikipedia.org/wiki/HSL_and_HSV
Style doesn't match the existing HSV code exactly, but should be close enough.
2023-05-09 17:43:10 +02:00
ajreckof
fabd9535f0
fix a test for wrapf with signed 32-bit float
2023-05-08 20:53:58 +02:00
Clay John
7a13cf9aeb
Merge pull request #75510 from SilicDev/string_erase
...
Reimplement `String.erase()` as immutable method
2023-05-05 10:03:49 -07:00
SilicDev
6fa4f71ca6
Reimplement String.erase
2023-05-04 00:52:35 +02:00
Rémi Verschelde
e0e93ce094
Merge pull request #72421 from myaaaaaaaaa/signal-hashmap
...
Store Object signals in a HashMap rather than a VMap
2023-04-25 19:26:35 +02:00
kendelle
0ec48a43d6
Updated Varaint assignemnt unit tests with Vec4,Vec4i,Rect2,Rect2i,Trans2d,Trans3d,Color,,Plane,Basis,AABB,Quant,Proj,RID,and Object
...
Updated Varaint assignemnt unit tests with Vec4,Vec4i,Rect2,Rect2i,Trans2d,Trans3d,Color,,Plane,Basis,AABB,Quant,Proj,RID,and Object
Updated Varaint assignemnt unit tests with
Vec4,Vec4i,Rect2,Rect2i,Trans2d,Trans3d,Color,,Plane,Basis,AABB,Quant,Proj,RID,and Object
2023-04-19 11:23:11 -05:00
Juan Linietsky
223ce4fcb9
Optimize Node::add_child validation
...
Adding 10k nodes is almost twice as fast.
2023-04-07 13:18:47 +02:00
Ninni Pipping
10f385fb79
Fix `Array.slice()` rounding for `abs(step) != 1`
2023-03-14 15:46:45 +01:00
Felipe Jorge
999f3e2c13
use the unicode replacement char on error
...
update tests
also fix utf8 and ascii parse functions to use the replacement char
created a _replacement_char const inside the string
2023-03-12 11:46:56 -03:00
Mario Liebisch
62e1a5e235
Added two test cases
2023-03-11 18:53:17 +01:00
George Marques
a1e3ef919c
Add operator NOT for all Variant types
2023-03-10 15:58:55 -03:00
bitsawer
5a9d7fd8a6
Fix Image.convert() overwriting custom mipmaps
2023-03-02 16:46:06 +02:00
myaaaaaaaaa
1ec5381c16
Store Object signals in a HashMap rather than a VMap
2023-02-25 18:44:09 -05:00
Dmitrii Maganov
c5f7a89b0f
Core: Identity compare objects by id, not by pointers
2023-02-24 23:33:29 +02:00
Aaron Franke
c551d7489c
Explicitly cast to Variant's int type in Time tests
2023-02-20 14:46:21 -06:00
myaaaaaaaaa
6b0f253a45
Fix PagedArray.merge_unordered() dropping pages
2023-02-16 19:58:27 -05:00
Andrés Botero
a90e151b2a
Added component-wise `min` and `max` functions for vectors
2023-02-11 15:03:11 -05:00
Rémi Verschelde
ab4a7b2b77
Merge pull request #72547 from MewPurPur/string-split-fix
...
Fix String.split() with empty string and delimeter
2023-02-09 16:12:57 +01:00
VolTer
57e39d0ce9
Fix String.split() with empty string and delimeter
2023-02-02 01:34:11 +01:00
myaaaaaaaaa
132e987633
Fail instead of segfaulting in IO tests
2023-01-31 02:21:27 -05:00
Rémi Verschelde
2d47c4c307
Merge pull request #72213 from ARez2/ARez2/master
...
Add Unit test for InputEventMouse
2023-01-30 10:00:45 +01:00
ARez
23827d4303
Add Unit test for InputEventMouse
2023-01-29 14:09:53 +01:00
Aaron Franke
5f3d3722b2
Add support for interpolating skewed transforms
2023-01-28 18:28:42 -06:00
Adam Scott
37248d7c87
Add `@GlobalScope` `is_same(a, b)` and `Variant::identity_compare()`
2023-01-25 10:46:21 -05:00
Jan Haller
83026126d4
Add tests to ensure bound methods and signals are valid identifiers
2023-01-23 21:19:57 +01:00
bruvzg
daad4aed62
Cleanup and unify keyboard input.
...
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00