1
0
Fork 0
Commit Graph

800 Commits

Author SHA1 Message Date
Thaddeus Crews 21db8487a2
Merge pull request #104664 from tomfull123/missing-typed-dictionary-initializer-list
Add missing `initializer_list` constructor to TypedDictionary
2025-04-03 16:50:23 -05:00
Thaddeus Crews 207a2b6472
Core: Integrate warning suppression macro helpers 2025-04-03 10:13:46 -05:00
Tom 8a3f9846c5 Add missing initializer_list constructor for TypedDictionary 2025-04-03 00:17:44 +01:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
Thaddeus Crews 780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
Rémi Verschelde be1333dc0a
Merge pull request #97002 from bruvzg/mbchar_iconv
Add methods to decode/encode multibyte encodings.
2025-03-28 17:29:47 +01:00
bruvzg 48bfe13e4f
Add methods to decode/encode multibyte encodings. 2025-03-28 17:32:34 +02:00
Lukas Tenbrink ffa6ef220b Use `append_` instead of `parse_` for `String` methods. 2025-03-27 17:51:02 +01:00
kobewi 75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
Thaddeus Crews 1cb3cfaa8e
Style: Convert namespaces to PascalCase 2025-03-23 19:10:24 -05:00
Thaddeus Crews 325c698331
Merge pull request #103647 from aaronp64/dictionary_multiple_lookup
Avoid multiple lookups in `Dictionary::operator[]`
2025-03-23 19:04:00 -05:00
Rémi Verschelde 3f14e6a1b7
Merge pull request #104374 from aaronp64/array_swap_move
Optimize `Array` methods with `SWAP`/`std::move`
2025-03-21 13:04:04 +01:00
Thaddeus Crews f6a35e2a6e
Merge pull request #86015 from kitbdev/array-initializer-list
Add list initialization to Array, Variant, and TypedArray
2025-03-19 17:46:06 -05:00
aaronp64 3eb4e6c6ff Optimize Array methods with SWAP/std::move
Updated Array::shuffle() to use SWAP instead of copying through temporary variables, which makes shuffling simple types around 2x faster, and refcounted object types around 20x faster.

Also updated multiple methods that insert into/modify the array to move their validated Variant to avoid an extra copy, speed increase varies depending on type and how much else the methods are doing, usually around 5-10% faster.
2025-03-19 12:17:14 -04:00
kobewi 10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
Rémi Verschelde 2fa721b1bc
Merge pull request #104127 from Ivorforce/360-noclip
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
rune-scape 0c7d78f455 StringLikeVariantOrder: Compare in-place 2025-03-18 11:21:30 -07:00
Thaddeus Crews 4320800621
Core: Expand `is_zero_constructible` coverage 2025-03-17 11:45:26 -05:00
Lukas Tenbrink a23f630781 Remove `String` clipping constructors.
Callers should instead call constructors with explicit encoding names, with known length `Span`.
2025-03-15 12:34:44 +01:00
Thaddeus Crews 22a7079afd
Merge pull request #104047 from YYF233333/dict_iter
Add const iteration support to `Dictionary`
2025-03-13 08:57:23 -05:00
Thaddeus Crews 7f6a9380a0
Merge pull request #103999 from YYF233333/unneeded_array_read_only
Remove unneeded `read_only` check for `Array` const operator
2025-03-13 08:57:22 -05:00
Thaddeus Crews e97bb76142
Merge pull request #100314 from Ivorforce/use-string-chr
Optimize `String::chr` to avoid calling `strlen`. Use `String::chr` instead of `String(&chr, 1)` where appropriate.
2025-03-13 08:57:20 -05:00
Yufeng Ying bebe037abf Add ConstIterator to Dictionary. 2025-03-13 01:28:46 +08:00
Lukas Tenbrink 75bc471965 Add `is_zero_constructible` to denote if a type can be semi-trivially constructed with all 0 bytes.
Optimize `CowData` and `LocalVector` resize for zero constructible types.
Mark several compatible types as `is_zero_constructible`.
2025-03-12 09:49:24 +01:00
Yufeng Ying 883ca56517 Remove unneeded read_only check for Array const operator. 2025-03-12 07:22:42 +08:00
Thaddeus Crews dae32f8ec6
Merge pull request #92737 from AThousandShips/packed_erase
[Core] Expose `Packed*Array::erase`
2025-03-10 10:01:06 -05:00
Thaddeus Crews a13067e61f
Merge pull request #97553 from AThousandShips/semantic_equal
[Core] Add `is_same` to types that have float components
2025-03-10 10:01:05 -05:00
A Thousand Ships 331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience 2025-03-10 13:19:28 +01:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
Thaddeus Crews 3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews 9c07d31fbb
Merge pull request #101618 from aaronfranke/var-parser-neg-ident
VariantParser: Fix reading negated identifiers, replace `inf_neg` with `-inf`
2025-03-07 12:06:35 -06:00
A Thousand Ships 5113022dfe
Clean up some uses of `String::substr`
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
aaronp64 7007380d0c Avoid multiple lookups in Dictionary::operator[]
Updated Dictionary::operator[] to get reference to value once to avoid multiple HashMap lookups.
2025-03-05 13:07:30 -05:00
Hotkey 7bc030172e Fix crash when calling get_argument_count() on invalid Callable
https://github.com/godotengine/godot/issues/103438
2025-03-04 13:32:34 +09:00
Pāvels Nadtočajevs f9c7d348c3 Add bound checks to `Array`/`Packed*Array` variant call `get` and `set` methods. 2025-02-27 17:54:40 +02:00
Aaron Franke 4d75c92225
VariantParser: Fix reading negated identifiers, replace `inf_neg` with `-inf` 2025-02-12 02:40:38 -08:00
Thaddeus Crews a0f10a28a6
Merge pull request #100933 from Synzorasize/fix_100889
Fix parsing Resource type as value type of a Dictionary
2025-02-11 09:13:18 -06:00
Pāvels Nadtočajevs 1bc86c2626 Fix `PackedStringArray.to_byte_array()` to return UTF-8 encoded data instead of pointers. 2025-02-07 10:19:32 +02:00
Pāvels Nadtočajevs b50d9742c2 Fix `is_valid_float`, `Variant` parser, `Expression` parser, script highlighter, and `TextServer` not handing capital E in scientific notation. 2025-02-05 18:39:40 +02:00
A Thousand Ships e825085978
[Core] Add `is_same` to types that have float components
Compares `NaN` as equal.

Added to:
* `AABB`
* `Basis`
* `Color`
* `Plane`
* `Projection`
* `Quaternion`
* `Rect2`
* `Transform2D`
* `Transform3D`
* `Vector2`
* `Vector3`
* `Vector4`

And added as a method in `Math`
2025-02-03 19:25:50 +01:00
A Thousand Ships 46b6acdabb
[Core] Expose `Packed*Array::erase` 2025-02-03 19:25:09 +01:00
lawnjelly 5c6d7bfb98 Change `VariantUtility` to prevent undef `print_verbose`
Changes the `VariantUtility` function from `print_verbose` to `_print_verbose`, eliminating the need for undefining the `print_verbose` macro, which caused compilation problems.
2025-01-30 10:29:11 +00:00
David Snopek 696285f23a Use `MethodInfo::get_compatibility_hash()` to generate the hash for `MethodBind::get_hash()` and other GDExtension hash clean up 2025-01-11 15:57:42 -06:00
Lukas Tenbrink 2aeca3e885 Optimize `String::chr` to avoid calling `strlen`. Use `String::chr` instead of `String(&chr, 1)` where appropriate. 2025-01-10 18:06:46 +01:00
Rémi Verschelde 76c8e76560 Merge pull request #101284 from akx/tyops
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Rémi Verschelde b857c2f3e6 Merge pull request #101016 from kiroxas/AddVariantStaticAssert
Add static assert checks in `Variant` constructors
2025-01-08 15:53:23 +01:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
Synzorasize b0845da37d Fix parsing Resource type as value type of a Dictionary 2025-01-07 18:37:31 -06:00
Rémi Verschelde 91fda4ecaf
Merge pull request #101055 from Ivorforce/variant-to-number-consolidate
Consolidate `Variant` int and float conversion functions to reduce duplicate logic.
2025-01-06 22:48:24 +01:00
Lukas Tenbrink 0e72967244 Consolidate `Variant` int and float conversion functions to reduce duplicate logic. 2025-01-03 20:16:43 +01:00