summaryrefslogtreecommitdiff
path: root/core/variant
AgeCommit message (Collapse)Author
2022-07-02Merge pull request #61610 from ↵Rémi Verschelde
TokageItLab/importer-retarget-registered-gdhumanoid
2022-07-01Merge pull request #62477 from lyuma/packedbytearrayRémi Verschelde
Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays.
2022-06-30Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays.Lyuma
2022-07-01implement bone renamer in importerSilc Renew
2022-06-29Adding print_rich for printing with BBCodeVoylin
2022-06-28Merge pull request #53135 from briansemrau/fix-ref-leakRémi Verschelde
2022-06-28Merge pull request #62468 from V-Sekai/core-const-expressionsRémi Verschelde
Add a const call mode to Object, Variant and Script.
2022-06-27Merge pull request #62449 from Chaosus/wrap_funcRémi Verschelde
Add generalized version of `wrap` function
2022-06-27Merge pull request #62462 from vnen/gdscript-setter-chainingRémi Verschelde
GDScript: Fix setter being called in chains for shared types
2022-06-27Add a const call mode to Object, Variant and Script.K. S. Ernest (iFire) Lee
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script). This mode ensures only const functions can be called, making it safe to use from the editor. Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27Refactor bezier interpolation functionsHendrik Brucker
2022-06-27GDScript: Fix setter being called in chains for shared typesGeorge Marques
When a type is shared (i.e. passed by reference) it doesn't need to be called in a setter chain (e.g. `a.b.c = 0`) since it will be updated in place. This commit adds an instruction that jumps when the value is shared so it can be used to skip those cases and avoid redundant calls of setters. It also solves issues when assigning to sub-properties of read-only properties.
2022-06-27Add generalized version of `wrap` functionYuri Rubinsky
2022-06-23Add core types enums description to extension api jsonPierre-Thomas Meisels
2022-06-20Clean up Hash Functionsreduz
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934 * Clean up usage of murmur3 * Fixed usages of binary murmur3 on floats (this is invalid) * Changed DJB2 to use xor (which seems to be better)
2022-06-17Make enum/constant binds 64-bit.bruvzg
2022-06-15Validate every source element separately Array::append_array()Pedro J. Estébanez
2022-06-15Merge pull request #61934 from Geometror/hashfuncsRémi Verschelde
Hash function improvements
2022-06-15Hash function improvementsHendrik Brucker
2022-06-12Fix parameter name for String.left and String.rightHaoyu Qiu
2022-06-07Merge pull request #59786 from V-Sekai/ok_colorRémi Verschelde
Allow picking similar colours using OKHSL.
2022-06-07Merge pull request #50349 from Calinou/array-add-some-everyRémi Verschelde
Add `any()` and `all()` methods to Array
2022-06-07Allow picking similar colours using OKHSL.K. S. Ernest (iFire) Lee
2022-06-06Merge pull request #59883 from KoBeWi/merge_thisRémi Verschelde
2022-06-06[GDExtension] Expose Variant, NodePath and StringName hash functions.bruvzg
2022-06-03Add StringName explicitly to Variant::hash_compareGeorge Marques
This makes equality comparisons to StringName more performant
2022-05-31Add Dictionary.merge()kobewi
2022-05-25Add `any()` and `all()` methods to ArrayHugo Locurcio
These can be used as faster, more convenient shorthands to using `filter()` + `size()`.
2022-05-17Implement read-only arraysGeorge Marques
Arrays can be set as read-only and thus cannot be modified. Assigning the array will create an editable copy. Similar to is already done to read-only dictionaries.
2022-05-16Implement read-only dictionaries.reduz
* Add ability to set them read only. * If read-only, it can't be modified. This is added in order to optionally make const dictionaries (and eventually arrays) properly read-only in GDScript.
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-12Add a new HashMap implementationreduz
Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
2022-05-11Merge pull request #58873 from Chaosus/power_opRémi Verschelde
Implement exponential operator (**) to GDScript/Expressions
2022-05-11Merge pull request #56167 from cdemirer/constructor-toarray-fixRémi Verschelde
2022-05-11Implement exponential operator (**) to GDScript/ExpressionsYuri Roubinsky
2022-05-07Add search methods for packed arraysHaoyu Qiu
* count() * find() * rfind()
2022-05-06Merge pull request #60609 from nathanfranke/string-quotesRémi Verschelde
2022-05-05Core: Rename math 'phi' arguments to 'angle'Rémi Verschelde
2022-05-05Merge pull request #48989 from MarioLiebisch/variant-comment-line-breaksRémi Verschelde
Properly increase line counter when parsing comments
2022-05-03quote strings inside arrays and dictionariesNathan Franke
2022-05-03Rename Basis get_axis to get_column, remove redundant methodsAaron Franke
2022-05-03Merge pull request #60627 from aaronfranke/rename-elementsRémi Verschelde
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
2022-05-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
2022-04-30Simplify Callable error text methodskobewi
2022-04-29Rename Basis "elements" to "rows"Aaron Franke
2022-04-29Rename Transform2D "elements" to "columns"Aaron Franke
2022-04-20Fix more issues found by cppcheck.bruvzg
2022-04-13Merge pull request #60093 from TokageItLab/reset-blendRémi Verschelde
Make blend animation to use ResetTrack as default value
2022-04-13Color: Rename `to_srgb`/`to_linear` to include base color spaceRémi Verschelde
This helps reduce confusion around sRGB <> Linear conversions by making both input and output color spaces explicit.