summaryrefslogtreecommitdiff
path: root/core/variant
AgeCommit message (Collapse)Author
2022-09-14Use variadic template in `vformat()`Micky
Allows `vformat()` to take more than 5 arguments. as well as being a general optimisation that avoids redundant empty Variant checks.
2022-09-06Merge pull request #64417 from aaronfranke/has-spaceRémi Verschelde
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06Rename `range_lerp` to `remap`Micky
2022-09-04Replace Rect2(i) has_no_area with has_areaAaron Franke
2022-09-04Replace AABB has_no_volume with has_volumeAaron Franke
Also replace has_no_surface with has_surface
2022-09-04Fix crash when encoding freed object in ConfigFileHaoyu Qiu
2022-09-02Add `is_zero_approx` methods to `Vector2`, `3`, and `4`Jonathan Nicholl
2022-09-01Merge pull request #63968 from KoBeWi/finding_stuff_in_a_dictionaryRémi Verschelde
2022-08-31Merge pull request #63411 from Calinou/improve-null-object-dictionary-printRémi Verschelde
Improve null and object printing to avoid confusion with arrays
2022-08-31Improve null and object printing to avoid confusion with arraysHugo Locurcio
- Use different syntax for object printing to avoid confusion with arrays. - Print null as `<null>` to avoid confusion with a string `"null"`. - Display `<empty>` in editor resource pickers to avoid confusion with array-based properties.
2022-08-31Discontinued spherical_interpolate_with in Transform3DSilc Renew
2022-08-30Add `String.to_{camel,pascal,snake}_case` methodsDanil Alexeev
2022-08-29Rename String `plus_file` to `path_join`Aaron Franke
2022-08-27Add linear/cubic angle interpolation to Animation interpolation typeSilc Renew
2022-08-26Rename `str2var` to `str_to_var` and similarMicky
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too. - `var2str` -> `var_to_str` - `str2var` -> `str_to_var` - `bytes2var` -> `bytes_to_var` - `bytes2var_with_objects` -> `bytes_to_var_with_objects` - `var2bytes` -> `var_to_bytes` - `var2bytes_with_objects` -> `var_to_bytes_with_objects` - `linear2db` -> `linear_to_db` - `db2linear` -> `db_to_linear` - `deg2rad` -> `deg_to_rad` - `rad2deg` -> `rad_to_deg` - `dict2inst` -> `dict_to_inst` - `inst2dict` -> `inst_to_dict`
2022-08-24Add constructor accepting four Vector4's to `Projection`Yuri Rubinsky
2022-08-22Merge pull request #63602 from TokageItLab/cubic-interp-timeRémi Verschelde
2022-08-20Expose Basis `set_orthogonal_index` method as a GridMap functionrafallus
2022-08-19Make `cubic_interpolate()` consider key time in animationSilc Renew
2022-08-16Add Dictionary.find_key()kobewi
2022-08-10Expose clear method for packed arraysHaoyu Qiu
2022-08-09vector4 distance_squared_to and update csharpantonWetzel
2022-08-07Merge pull request #64027 from Geometror/add-vector4-testsRémi Verschelde
2022-08-07Vector4/Vector4i: Add missing methods, tests and fix change of sign operatorHendrik Brucker
2022-08-06Merge pull request #63361 from KoBeWi/floorf_lolRémi Verschelde
2022-08-06Restore old lerp() behavior and add lerpf()kobewi
2022-08-06Merge pull request #63698 from PrecisionRender/plane-operator-asteriskRémi Verschelde
Add operator `*` to `Plane`
2022-08-04Arrays: Zero new items of trivial types on resize() (bindings only)Rémi Verschelde
This is not enabled by default in the core version for performance reasons, as Vector/CowData are used in critical code paths where not zero'ing memory which is going to be set later on can be important. But for bindings / the scripting API, we make zero the new items by default (which already happened for built types like Vector3, etc., but not for trivial types like int, float). Fixes #43033. Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
2022-08-03Merge pull request #55923 from ↵Rémi Verschelde
bluenote10/feature/consistent_transform_operations Fix consistency of translated/scaled/rotated in Transform2D and Transform3D
2022-08-02Fix consistency of translated/scaled/rotated in Transform2D and Transform3DFabian Keller
2022-08-02Variant large bucket memory pool - for Projectionlawnjelly
Add a larger bucket size pool for the new Projection Matrix.
2022-08-02Merge pull request #61315 from lawnjelly/variant_bucket_poolsRémi Verschelde
Variant memory pools
2022-07-30Add `operator*` to `Plane`PrecisionRender
2022-07-29Merge pull request #63595 from reduz/remove-signal-connect-bindsRémi Verschelde
Remove Signal connect binds
2022-07-29Remove Signal connect bindsJuan Linietsky
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
2022-07-29Fix Vector4 serializationkobewi
2022-07-28Merge pull request #63049 from Faless/mp/4.x_as_moduleRémi Verschelde
2022-07-28Merge pull request #63532 from TokageItLab/rename-cubic-slerpRémi Verschelde
2022-07-28Merge pull request #57698 from ↵Rémi Verschelde
bluenote10/feature/rename_translated_to_translated_local
2022-07-27Split ceil(), floor() and round() methodkobewi
2022-07-27rename and unify notation for spherical interpolationSilc Renew
2022-07-26[Net] Modularize multiplayer, expose MultiplayerAPI to extensions.Fabio Alessandrelli
- RPC configurations are now dictionaries. - Script.get_rpc_methods renamed to Script.get_rpc_config. - Node.rpc[_id] and Callable.rpc now return an Error. - Refactor MultiplayerAPI to allow extension. - New MultiplayerAPI.rpc method with Array argument (for scripts). - Move the default MultiplayerAPI implementation to a module.
2022-07-26Add some missing Vector4 methodskobewi
2022-07-25Merge pull request #63219 from reduz/implement-vector4-projectionRémi Verschelde
2022-07-24Solve discrepancy between code and class reference for PlaneJcrespo
On #43310, class reference was automatically updated from source, causing xml documentation to disagree with parameter naming description on Plane.intersects_segment(). Weirdly, it also changed the parameter for Plane.is_point_over() from point to plane, when only the first has sense (and it is defined on math.Plane as "const Vector3 &p_point"). Manual mistake? * Update begin/end to from/to on Plane.intersects_segment(...) docs description to match source * Update Plane bindings to use points instread of plane for is_point_over(...) * Change Plane.is_point_over(plane) to Plane.is_point_over(point) AND its description on docs Fixes godotengine/godot-docs#5976
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-21Rename `epsilon` to `tolerance` in the `Plane::has_point` methodYuri Rubinsky
2022-07-18Fix the argcount when generating error message for CallableComparatorcdemirer
2022-07-16rename translate(d) to translate(d)_local in Transform 2D/3DFabian Keller
2022-07-15Use BitField hint for the TextServer enums. Add missing parts for BitField ↵bruvzg
support to the GDextension API.