Aaron Franke
218f38c7ec
Expose is_equal_approx and restore == to be exact again
...
This commit changes behavior for GDScript and C#.
Also did some organizing of the order to logically group related methods, mostly for Rect2 and AABB.
2019-10-14 16:48:59 -04:00
Aaron Franke
86922ff70b
Make is_equal_approx separate for structures
...
This commit adds exposed behavior for C#
2019-10-14 16:46:54 -04:00
qarmin
04c6579fd7
Don't use in some functions empty PoolByteArrays
2019-10-11 11:39:40 +02:00
Rémi Verschelde
7f075e519a
Merge pull request #32741 from qarmin/fix_string_utf_ascii
...
Don't use to_utf8() and to_ascii() on empty String
2019-10-11 11:24:40 +02:00
qarmin
c62da553cb
Don't use to_utf8() and to_ascii() on empty String
2019-10-11 09:13:30 +02:00
qarmin
684156f711
Fix decompress PoolByteArray crash
2019-10-10 17:15:10 +02:00
Andrii Doroshenko (Xrayez)
a0d00c0e99
Bind the `String::humanize_size` method
...
The method signature is also changed to use `uint64_t` instead of `size_t`
for it to be Variant-compatible.
2019-10-04 15:51:13 +03:00
Rémi Verschelde
ef2a7834c9
Merge pull request #31883 from aole/create-string-function-repeat
...
Create a GDScript String function repeat
2019-09-24 11:50:58 +02:00
Cameron Reikes
757c509437
Add array slice method
2019-09-14 13:08:28 -07:00
Bhupendra Aole
073f625a91
Create a GDScript String function repeat
...
Fixes #30610
2019-09-03 13:06:13 -04:00
Andrii Doroshenko (Xrayez)
07cff56f48
Add transform methods for PoolVector*Array
...
Similarly to `Vector2` and `Rect2` transforms in 2D and Vector3, Plane,
and AABB in 3D. PoolVector2Array and PoolVector3Array were the only
missing Variant types in both Transform2D and Transform respectively.
2019-08-29 14:47:33 +03:00
Rémi Verschelde
51d50e167d
Merge pull request #31094 from aaronfranke/vector-sign-mod-etc
...
Add Vector2/3 sign and posmod functions, axis, docs, misc additions
2019-08-23 09:07:47 +02:00
Rémi Verschelde
7402fd2c56
Revert "Feature: Add SHA256 for PoolByteArray"
...
This reverts commit e2c3bbabb0
.
This was superseded by #29871 which adds more crypto features with a
dedicated interface.
Since this commit was never in a stable release (merged during 3.2 dev),
we revert it to avoid having to deprecate it in favor of the Crypto API.
See https://github.com/godotengine/godot/pull/31187#issuecomment-523377965
2019-08-22 13:44:57 +02:00
Fabio Alessandrelli
3495d1bfa0
Add hex_encode function to PoolByteArray
2019-08-21 16:59:38 +02:00
Fabio Alessandrelli
c19871af6d
Move CryptoCore to it's own folder.
...
Crypto classes will be placed in core/crypto.
2019-08-19 16:31:05 +02:00
Aaron Franke
092346d82b
Add Vector2/3 sign and posmod functions, misc additions
...
Also make the docs more consistent, add Axis enum to Vector2, add > and >=. and C# also gets % and an override for vector-vector mod.
2019-08-17 18:31:55 -04:00
Braden Bodily
71d71d55b5
Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'
...
Condensed some if and ERR statements. Added dots to end of error messages
Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-17 12:33:15 +02:00
Aaron Franke
85f13a0d24
Add Basis constants and format Transform constants
2019-08-09 11:34:54 -07:00
Aaron Franke
7dbbb5eac7
[Mono] Deprecate Set methods
...
These silently fail, so they should be removed. I accidentally added most of these last year, trying to make everything else consistent with Quat, sorry!
Also, a few tiny nitpicking changes are included, like whitespace and misspellings.
2019-07-28 17:49:22 -04:00
Chaosus
080c0bb7fe
Added count method to String
2019-07-23 18:55:54 +03:00
qarmin
6cbaf7662f
Changed some code showed in LGTM and Coverage
2019-07-20 08:09:57 +02:00
Ibrahn Sahir
4e4697b1c4
Added release function to PoolVector::Access.
...
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
2019-07-06 12:04:27 +01:00
Fabio Alessandrelli
6c512e21a9
Add sha1 functions to string (using new CryptoCore)
2019-07-03 18:42:46 +02:00
Fabio Alessandrelli
564d93ff10
CryptoCore class to access to base crypto utils.
...
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.
To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.
If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.
Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
Rémi Verschelde
2b52cd3e5c
Merge pull request #28648 from KoBeWi/substr-1
...
Make second parameter of substr optional
2019-06-19 12:43:46 +02:00
Rémi Verschelde
22afebcad7
Merge pull request #29598 from GodotExplorer/uri-encode
...
Expose String.http_escape and String.http_unescape
2019-06-19 10:47:34 +02:00
Zak
1a397f46e6
Improved documentation of rsplit Method for String class.
...
Improved documentation of rsplit Method for String class.
Removed "divisor" (i will also change variants_call.cpp) and added "delimiter" in its place. Also moved the example at the bottom of the description.
2019-06-11 13:39:18 +03:00
geequlim
ae839bd0d8
Expose String.http_escape and String.http_unescape
2019-06-08 16:33:12 +08:00
Rémi Verschelde
3c4fab295b
Merge pull request #27789 from Giacom/move_towards
...
Added move_toward functions for float, Vector2 and Vector3
2019-06-01 12:05:18 +02:00
Rémi Verschelde
af2c742f53
Fix and expose String::strip_escapes(), use it in LineEdit paste
...
Supersedes #27736 .
2019-05-31 15:49:14 +02:00
Giacom
c00427add3
Added move_toward functions for float, Vector2 and Vector3
2019-05-28 11:39:35 +01:00
Tomasz Chabora
0b8a785539
Make second parameter of substr optional
2019-05-03 19:46:56 +02:00
Hein-Pieter van Braam
f2d3d3e679
Merge pull request #24269 from xsellier/feature/master-add-sha256
...
Add SHA256 for PoolByteArray
2019-04-23 06:38:03 +03:00
Juan Linietsky
a20235aeb0
Add ability to edit editor feature profiles
...
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
2019-04-08 19:18:51 -03:00
Rémi Verschelde
7f3373d79f
Merge pull request #27452 from Chaosus/direction_to
...
Added method to retrieve a direction vector from one point to another
2019-04-08 12:00:54 +02:00
Giacom
c2e63fd27a
Fixes being unable to use the Quat(Vector3) constructor
...
The Quat(Vector3) constructor, to initialise a Quat by a euler angle,
was impossible because Variant::construct would only check for
constructors with greater than 1 arguments. I changed it to greater than
or equal to 1 and moved it to the bottom of the priority list so it did
not overshadow the other checks that checked for arguments equal to 1
for simple copy constructors.
2019-04-08 02:52:21 +01:00
PouleyKetchoupp
8828385792
Fixed Transform FLIP_Y and FLIP_Z set as identity transform
2019-04-06 17:40:15 +02:00
Chaosus
55f3bd97a2
Added direction_to method to vectors
2019-04-05 17:09:57 +03:00
Juan Linietsky
dee98d3b6d
Some improvements to is_equal_approx, restored Quat operator.
2019-04-01 11:11:02 -03:00
Windy Darian
7d4a653223
Fix return value for Dictionary.erase()
2019-02-21 18:52:29 +08:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Andrii Doroshenko (Xrayez)
b8f1fe9ed8
Bind `is_valid_hex_number` string method to GDScript
2018-12-24 20:54:36 +02:00
Xavier Sellier
e2c3bbabb0
Feature: Add SHA256 for PoolByteArray
2018-12-10 14:58:47 -05:00
Rémi Verschelde
35fbbeb99b
Merge pull request #20627 from malcolmhoward/core-dictionary-get-key
...
#20488 core dictionary get key
2018-11-19 21:11:55 +01:00
m
bf1867aaab
Added Python-like .get() method to Dictionary in GDScript #20488
...
Added .get() method to Dictionary class in GDScript to return the value if the key exists, or return Null if the key does not exist.
2018-11-19 14:03:13 -05:00
Fabio Alessandrelli
c449512318
Always initialize VariantCall return_type.
...
The return_type is used by the GDScript parser (and possibly other
scripting languages), so it MUST be initialized at least.
It could be initialized to Variant::NIL in release, but I see no reason
for not setting the actual value.
See similar issue in 95dfa5b
.
2018-11-17 19:06:18 +01:00
Kelly Thomas
215db9ff71
add ONE constants to Vector2 and Vector3
2018-10-07 21:33:18 +08:00
Rémi Verschelde
277b24dfb7
Make core/ includes absolute, remove subfolders from include path
...
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Juan Linietsky
adc0188d9f
Added max() and min() functions to array to return greater or lesser element (or null if data is not of compatible type or empty array). Closes #15697
2018-08-23 15:32:02 -03:00
Rémi Verschelde
a319d72071
Merge pull request #21253 from aaronfranke/plane-constants
...
Rename Plane constants, add to Mono
2018-08-21 21:16:41 +02:00
Aaron Franke
a986686ac4
Rename Plane constants, add to Mono
...
But I'm not tagging PR as [Core] or [Mono] due to it being a minor change anyway.
2018-08-21 01:35:07 -04:00
Rémi Verschelde
f0b914fa68
Remove circle/diamond and NodePath String constants
...
They were introduced in #14704 but need more discussion IMO,
they don't strike me as core features that would have to be
registered in Variant directly.
Moreover, they currently break the documentation XML as string
constants end up encoded as e.g. `value=""..""`.
2018-08-21 00:23:35 +02:00
Thomas Herzog
037f4638ab
add project method to Vector2/3
2018-08-16 12:52:38 +02:00
Rémi Verschelde
4548ec4a49
Merge pull request #20945 from neikeq/dict-erase-retbool
...
Dictionary: remove erase_checked(key), make erase(key) return bool
2018-08-15 01:08:23 +02:00
Ignacio Etcheverry
21d285e30f
Dictionary: remove erase_checked(key), make erase(key) return bool
2018-08-14 19:19:05 +02:00
Chaosus
3b10bd1fa2
Fix int(String) != int(int) conversion
2018-08-14 10:56:10 +03:00
Bernhard Liebl
ba974b8d1e
Allow some non-integer built-in constants in gdscript
2018-07-31 17:56:48 +02:00
Rémi Verschelde
47a7dc7b3c
Merge pull request #18282 from aaronfranke/better-mathf
...
[Core] [Mono] Fix Color missing int export methods, added 64-bit
2018-07-26 10:48:47 +02:00
Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Aaron Franke
55d976467d
Expose 64-bit Color methods to GDScript and fix/update Color XML doc
2018-07-25 15:35:29 -05:00
Rémi Verschelde
4c5dd51eb9
Sync classref with current source
...
Also fix binding of Basis.slerp
2018-05-28 14:53:15 +02:00
Max Hilbrunner
acf6c326fb
Merge pull request #14715 from Krakean/string_add_rsplit2
...
Added rsplit() method to String class
2018-05-23 17:19:35 +02:00
tagcup
ed7aadcd87
Add SLERP to Vector{2,3}, optimize Quat's Vector3 rotation.
...
Also even out Basis and Quat APIs a little.
2018-05-12 13:05:04 -04:00
Alexander Alekseev
26963473a9
Vector3::round, Vector2::round & Vector2::ceil methods were added.
...
Now both structs (Vector2 & Vector3) have round, floor & ceil methods.
(see #18603 )
2018-05-04 12:43:50 +03:00
Rémi Verschelde
85c8953c9f
Merge pull request #16649 from ibrahn/visual-script-release-crash
...
fix for segfault when using CallBasic in visual script on release build
2018-05-01 17:48:27 +02:00
bosak
79ecdee496
add string trim_prefix trim_suffix lstrip and rstrip methods
2018-04-17 14:15:43 +03:00
Bojidar Marinov
9f6c0c6eae
Duplicate Arrays and Dictionaries when instancing scene in editor
...
Also, add deep (=false) parameter to Array.duplicate and Dictionary.duplicate
Fixes #13971
2018-03-13 17:18:08 +02:00
Bernhard Liebl
9d7856620c
Bring back Vector2.cross()
2018-03-07 21:10:31 +01:00
Rémi Verschelde
37a6ce5a42
Merge pull request #15563 from poke1024/gdscript-shuffle
...
Add shuffle() method to Array
2018-02-19 21:53:08 +01:00
Rémi Verschelde
7455244866
Merge pull request #15852 from poke1024/color_hsv
...
Add Color.from_hsv()
2018-02-19 21:51:04 +01:00
Ibrahn Sahir
95dfa5b96d
fix for segfault when using CallBasic in visual script on release build
2018-02-12 17:09:00 +00:00
Timur Celik
c16f61190c
Fix broken variant call of Vector3.snapped
2018-02-03 19:57:12 +01:00
Poommetee Ketson
ebe2337515
Fix wrong return type of xform functions
2018-01-30 18:45:54 +07:00
Bernhard Liebl
be55171231
Add Color.from_hsv()
2018-01-18 22:13:00 +01:00
poke1024
75d69fb4ec
Add shuffle() method to Array
2018-01-10 19:36:53 +01:00
Rémi Verschelde
e4213e66b2
Add missing copyright headers and fix formatting
...
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
6b6f60defc
Merge pull request #15220 from ibrahn/variantcall-defargs-fix
...
fix VariantCall default parameter ordering
2018-01-03 12:50:04 +01:00
Rémi Verschelde
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Ibrahn Sahir
96706168d0
fix VariantCall default parameter ordering
2017-12-31 14:58:45 +00:00
Will Nations
f19fc83546
Dictionary::copy -> ::duplicate
2017-12-17 16:07:15 -06:00
Dmitry Koteroff
6fe415ca7f
Added rsplit() for String class
...
Docs updated
2017-12-15 22:23:58 +03:00
Dmitry Koteroff
5302fd125b
Added third argument for String.split() function (see issue #14349 )
...
Remove negative limit, leave only positive and make it reflect behaviour like in Python
Also limit renamed to maxsplit to match Python one.
Also docs updated.
Fix indent
2017-12-15 21:51:13 +03:00
Rémi Verschelde
41e3592041
Merge pull request #13347 from Noshyaar/hang_in_there
...
Rect2: add function returning same rect with positive w and h
2017-12-09 18:08:09 +01:00
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
Poommetee Ketson
5c9be411eb
Rect2: add function returning same rect with positive w and h
2017-11-28 00:41:29 +07:00
Juan Linietsky
bc2e8d99e5
Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
...
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Bojidar Marinov
bfe44de2b6
Make tween able to be used as before (without the need for ":...")
...
Fixes #13174
2017-11-22 14:13:56 +02:00
Rémi Verschelde
9638c9cb5d
Merge pull request #12371 from donkeybonks/color-lighten-darken
...
Add Color.lighten and Color.darken (like LESS.css or SASS) #2
2017-11-22 01:27:01 +01:00
Rémi Verschelde
3b7e9df255
Merge pull request #13151 from akien-mga/basis-vector3-constructor
...
Properly implement Basis constructor using Vector3 of Euler angles
2017-11-22 01:20:14 +01:00
Rémi Verschelde
613d374bc5
Merge pull request #12284 from bojidar-bg/allow-subproperty-set
...
Allow for getting/setting "dotted" properties of objects
2017-11-21 22:44:14 +01:00
Rémi Verschelde
a3f8dde502
Properly implement Basis constructor using Vector3 of Euler angles
...
Fixes #13104 .
2017-11-21 20:52:07 +01:00
Bojidar Marinov
0cf9597758
Allow for getting/setting indexed properties of objects using get/set_indexed
...
Performance is around the same as using pure set() through GDScript.
2017-11-21 20:58:21 +02:00
Kyle Van Berendonck
8e4336a729
Add Color.lightened and Color.darkened (like LESS.css or SASS)
2017-11-21 21:48:11 +11:00
poke1024
d6e54de502
Add bsearch and bsearch_custom to Array
2017-11-21 08:50:31 +01:00
Ferenc Arn
d28763a4c1
Rename Rect3 to AABB.
...
Fixes #12973 .
2017-11-17 11:01:41 -05:00
Zher Huei Lee
609cf36f8d
Fixed dedent() binding did not return result
2017-11-05 09:07:06 +08:00
Zher Huei Lee
0804dd5336
Added String::dedent() to remove text indentation
...
This functions similarly to Python's textwrap.dedent()
It's also been applied to doc_data.cpp to remove extra whitespace while
parsing the XML.
2017-11-01 07:20:20 +08:00
Захаров Андрей
e10ee8765f
Added difference between function which return value or not
...
Now ADDFUNC with suffix R add function with return value.
It was changed because addfunc considers that the function
doesn't return a value if it returns NIL.
2017-10-30 22:46:15 +01:00
Juan Linietsky
c5da28f24c
Fixed constness of variant functions, as well as visual script sequence ports. Closes #11258
2017-09-25 17:09:27 -03:00