Aaron Franke
7db24a9ad5
Simplify and fix Rect2/AABB get_support function
2024-08-19 23:55:31 +07:00
bruvzg
e651421905
[TextServer, GDExtension] Fix building text servers as GDExtension, expose new/changed low-level methods to GDExtension API.
2024-06-12 19:30:19 +07:00
bruvzg
d8e1ab085a
[Windows] Fix 32-bit MinGW LTO build.
2024-06-04 13:46:03 +07:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +07:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive `String::containsn`
2024-05-08 12:48:01 +07: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 +07: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 +07:00
A Thousand Ships
0f5e0d1637
Expose `Vector*` component-wise and scalar `min/max` to scripting
2024-05-02 13:02:40 +07:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +07:00
clayjohn
4d580b15be
Update the description and parameter name for Vector3 reflect to correct how the plane is constructed
2024-04-30 13:50:39 +07:00
clayjohn
c0d0bdc160
Clarify bounce and reflect docs and update param names
2024-04-10 14:07:08 +07:00
A Thousand Ships
2cbf469912
Fix sorting of files/dirs in dialogs
...
Sorts leading `_` before other characters except `.`.
2024-03-20 13:45:47 +07:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +07: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 +07:00
Thaddeus Crews
9903e6779b
Enforce template syntax `typename` over `class`
2024-03-07 22:39:09 +07:00
kobewi
eb0a624902
Allow returning Dictionary after merging
2024-03-06 14:49:35 +07:00
Rémi Verschelde
9278856ff7
Merge pull request #88948 from dalexeev/core-add-callable-create
...
Core: Add `Callable.create` static method for `Variant` callables
2024-02-29 13:54:22 +07:00
Rémi Verschelde
1cc9190c70
Merge pull request #81822 from nlupugla/nodepath-slice
...
Add `NodePath::slice` method
2024-02-29 13:53:34 +07:00
Danil Alexeev
d90c9db27f
Core: Add `Callable.create` static method for `Variant` callables
2024-02-29 10:45:00 +07:00
A Thousand Ships
684752e75b
Replace error checks against `size` with `is_empty`
2024-02-09 12:50:15 +07:00
Juan Linietsky
24fe0715b5
Promote CowData to 64 bits
...
Fixes a lot of bugs, please help me fill the list.
2024-01-19 17:41:10 +07:00
Muller-Castro
96a95cb974
Add const lvalue ref to container parameters
2024-01-05 14:49:57 +07: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 +07:00
Rémi Verschelde
b5c6e870e8
Merge pull request #82264 from dalexeev/core-builtin-methods-as-callables
...
Core: Allow methods of built-in `Variant` types to be used as Callables
2024-01-02 18:05:05 +07:00
nlupugla
cd221c1816
Added NodePath::slice method.
2023-12-13 13:30:28 +07:00
Aaron Franke
437586bf31
Add a `get_or_add` method to Dictionary
2023-12-06 11:43:58 +07:00
Danil Alexeev
b04263644c
Core: Allow methods of built-in `Variant` types to be used as Callables
2023-10-25 15:53:52 +07:00
Jakub Marcowski
cb954c6bab
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2023-10-12 13:46:49 +07:00
Danil Alexeev
aff767ef07
Fix expected argument count for `Callable` call errors
2023-09-29 20:00:10 +07: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 +07:00
kobewi
adc930baee
Add Vector2/3/4i.MAX and MIN
2023-09-16 21:52:13 +07:00
Aaron Franke
56806ffeed
Add `is_conformal` method to Basis and Transform2D
2023-09-13 17:20:30 +07:00
A Thousand Ships
893f889d74
[Core] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-11 19:45:49 +07:00
Daylily-Zeleen
67e1401891
Set builtin varrarg ptrcalls, called without arg.
2023-09-02 00:34:16 +07:00
Yuri Roubinski
230385b587
Add `String.reverse` method
2023-06-21 20:40:48 +07:00
Juan Linietsky
5fdc1232ef
Add the ability to look-at in model-space.
...
This is a much simpler attempt to solve the same problem as #76060 , but without breaking any compatibility.
* Adds a description of what model space is in the Vector3 enums (MODEL_* constants). This has the proper axes laid out for imported 3D assets.
* Adds the option to `look_at` using model_space, which uses Vector3.MODEL_FRONT as forward vector.
The attempt of this PR is to still break the assumption that there is a single direction of forward (which is not the case in Godot)
and make it easier to understand where 3D models are facing, as well as orienting them via look_at.
2023-05-24 10:10:24 +07:00
clayjohn
f83a90192f
Revert "Add API for HSL conversion"
...
This reverts commit 0b7fd664c1 .
2023-05-10 17:45:56 +07:00
Rémi Verschelde
0f444f101a
Merge pull request #76661 from bonjorno7/hsl
...
Add API for HSL conversion
2023-05-09 19:28:35 +07:00
Rémi Verschelde
5ade250c7d
Merge pull request #76735 from AThousandShips/natural_cmp
...
Add `naturalcasecmp_to` function to `String`
2023-05-09 17:44:37 +07: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 +07:00
Ninni Pipping
46a7018e3c
Add `naturalcasecmp_to` function to `String`
...
Functions as a complement to `naturalnocasecmp_to`
2023-05-07 10:17:53 +07: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 +07:00
Aaron Franke
290b09b36c
Expose `determinant` in Transform2D, rename internal method
2023-04-22 13:44:14 +07:00
Haoyu Qiu
6cd8e706fa
Unify descriptions of vector methods
...
* is_equal_approx
* normalize
* length_squared
* posmod
* posmodv
2023-04-14 23:31:33 +07:00
bendn
ca0feabbb0
add `hex_decode()` to `String`
2023-04-05 19:44:00 +07:00
bruvzg
d72b563250
Add GDScript `to_wchar_buffer` and `get_string_from_wchar` functions.
2023-03-21 15:39:54 +07:00
Dmitrii Maganov
5909f9f075
GDScript: Fix issues with typed arrays
2023-01-31 11:54:41 +07:00
bruvzg
5aa87ccc03
Move Array:set_typed to internal GDExtension structure and unexposed it.
2023-01-30 14:23:31 +07:00
Rémi Verschelde
9d555f5c68
Merge pull request #62499 from fire/gltf-binary-img-compression
...
Handle gltf binary images
2023-01-27 11:35:55 +07:00
K. S. Ernest (iFire) Lee
39922d7167
Handle gltf binary
...
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ]
Enable compressed mip maps from Basis Universal for faster compressions.
Increase the quality of Basis to avoid corruption.
To keep compatibility use the first mip of the previous internal Godot format.
Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-27 02:02:02 +07:00
Dmitrii Maganov
abe6d67232
GDScript: Fix test for read-only state of constants
2023-01-27 05:28:08 +07:00
Jan Haller
15686ca786
Fix bind " convergence_dist" containing space
2023-01-23 20:07:59 +07:00
Raul Santos
7560340ef6
Rename `center` method to `get_center` in Plane.
2023-01-15 17:18:50 +07:00
Juan Linietsky
33d3b7eea7
Fix Callable call error reporting.
...
* Fix potential crash when using bind in `Variant::get_callable_error_text()`
* Properly compute bound arguments so they can be properly shown.
* Add a function to obtain the actual bound arguments.
2023-01-10 13:56:27 +07:00
Rémi Verschelde
31f94574d4
Merge pull request #70996 from reduz/properly-report-callable-bound-arguments
...
Properly report Callable bound arguments
2023-01-09 08:34:28 +07:00
Juan Linietsky
0e0ca01bce
Properly report Callable bound arguments
...
Fixes #63213
Adds a function: Callable::get_amount_of_arguments_bound() to query this in callables. Exposed to the engine API.
2023-01-08 23:35:11 +07:00
Rémi Verschelde
41b74c675f
Merge pull request #71000 from reduz/callable-bind-from-array
...
Allow binding Callable arguments from an array
2023-01-07 13:18:53 +07:00
Juan Linietsky
d762a0395a
Allow binding Callable arguments from an array
...
Restores 3.x functionality that was removed in the Signal/Callable refactor of 4.0.
Fixes #64668 .
Implements https://github.com/godotengine/godot-proposals/issues/6034
Usage:
```GDScript
callable.bindv([arg1,arg2,arg3])
```
2023-01-06 22:37:25 +07:00
Juan Linietsky
576ae694e0
Unbind Variant methods that change immutable types.
...
Fixes #62706 .
Code is commented instead of removed to clarify why they should not be re-added.
2023-01-06 17:17:43 +07:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +07:00
George Marques
0c15844551
GDScript: Error when assigning return value of void function
...
This also makes built-in method calls empty the return value when the
method is void, to avoid keeping returning a garbage value in such case.
2022-12-30 12:08:58 +07:00
rune-scape
e79be6ce07
Unify String and StringName
2022-12-05 21:46:47 +07:00
Micky
67cdac6db8
Remove `Array.find_last()`
2022-11-25 18:34:50 +07:00
Rémi Verschelde
4a8b725bc9
Merge pull request #68386 from MewPurPur/snappedi-snappedf
...
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-24 18:54:49 +07:00
Yaohua Xiong
f9fa182abc
Refactor Curve3D::_bake() method
...
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization.
Other changes are:
1. Add an bezier_derivative() method for Vector3, Vector2, and Math;
2. Add an tesselate_even_length() method to Curve3D, which tesselate bezier curve to even length segments adaptively;
3. Cache the tangent vectors in baked_tangent_vector_cache;
2022-11-24 10:52:06 +07:00
VolTer
e26f0906f2
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-19 06:18:55 +07:00
Markus Sauermann
3b14f0334c
Remove redundant Variant-types initializations
2022-11-14 19:35:19 +07:00
kobewi
8a47a12207
Add support for empty delimiter in String.split
2022-11-04 15:09:12 +07:00
Aaron Franke
9e952c8386
Allow getting Quaternion rotation in different Euler orders
2022-11-02 19:20:10 +07:00
Aaron Franke
8556fdd4bc
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 13:44:13 +07:00
Rémi Verschelde
d2e1b4b9f0
Merge pull request #68118 from aaronfranke/quat-from-euler
...
Replace Quaternion Euler constructor with `from_euler` method
2022-11-02 18:51:59 +07:00
Rémi Verschelde
62ed75df9c
Merge pull request #64830 from dalexeev/color-hide-internals
...
Remove internal functions of named colors from the public API
2022-11-02 18:51:27 +07:00
Aaron Franke
83634119d4
Replace Quaternion Euler constructor with `from_euler` method
2022-11-01 09:28:12 +07:00
Aaron Franke
7f9a8c99c9
Clean up Basis from Euler code
2022-10-21 17:54:49 +07:00
Danil Alexeev
653e8f5c86
Remove internal functions of named colors from the public API
2022-10-21 11:21:43 +07:00
Nonunknown
9f4dbf415d
add ability to pick random value from array
2022-10-20 08:39:47 +07:00
Haoyu Qiu
5da515773d
Add `is_finite` method for checking built-in types
2022-10-08 13:25:08 +07:00
Rémi Verschelde
006e345695
Merge pull request #65817 from bruvzg/typed_array
2022-09-23 10:24:46 +07:00
bruvzg
163257d51b
[GDExtension] Implement support for typed arrays.
2022-09-22 23:31:27 +07:00
Ricardo Buring
0c2055d15d
Callable: add callv method
...
This method can be called from GDExtension.
2022-09-21 08:25:48 +07:00
Aaron Franke
995b9f94e8
Replace Rect2(i) has_no_area with has_area
2022-09-04 23:03:36 +07:00
Aaron Franke
817ae95667
Replace AABB has_no_volume with has_volume
...
Also replace has_no_surface with has_surface
2022-09-04 23:03:36 +07:00
Jonathan Nicholl
15d057c521
Add `is_zero_approx` methods to `Vector2`, `3`, and `4`
2022-09-02 00:29:50 +07:00
Rémi Verschelde
41156a1e83
Merge pull request #63968 from KoBeWi/finding_stuff_in_a_dictionary
2022-09-01 17:38:39 +07:00
Silc Renew
c139d9ef7d
Discontinued spherical_interpolate_with in Transform3D
2022-08-31 16:35:38 +07:00
Danil Alexeev
d4555ef5fb
Add `String.to_{camel,pascal,snake}_case` methods
2022-08-30 12:36:24 +07:00
Aaron Franke
10a56981dc
Rename String `plus_file` to `path_join`
2022-08-29 19:38:13 +07:00
Rémi Verschelde
944bfc6d00
Merge pull request #63602 from TokageItLab/cubic-interp-time
2022-08-22 17:32:47 +07:00
rafallus
da7a5653f4
Expose Basis `set_orthogonal_index` method as a GridMap function
2022-08-20 21:42:20 +07:00
Silc Renew
dded7c72c1
Make `cubic_interpolate()` consider key time in animation
2022-08-19 14:48:37 +07:00
kobewi
cc424bcb18
Add Dictionary.find_key()
2022-08-16 13:48:59 +07:00
Haoyu Qiu
9c4ad8191b
Expose clear method for packed arrays
2022-08-10 17:12:20 +07:00
antonWetzel
40a1d6d100
vector4 distance_squared_to and update csharp
2022-08-09 01:59:17 +07:00
Hendrik Brucker
36061c5dca
Vector4/Vector4i: Add missing methods, tests and fix change of sign operator
2022-08-07 12:25:05 +07:00
Rémi Verschelde
c717d5c64b
Arrays: Zero new items of trivial types on resize() (bindings only)
...
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-04 13:35:37 +07:00
Fabian Keller
f242f9c738
Fix consistency of translated/scaled/rotated in Transform2D and Transform3D
2022-08-02 23:38:14 +07:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
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-29 16:26:13 +07:00
Rémi Verschelde
a5f12f9c21
Merge pull request #63532 from TokageItLab/rename-cubic-slerp
2022-07-28 10:39:33 +07:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local
2022-07-28 10:03:07 +07:00