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
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
letheed
5ad9be4c24
Rename pos to position in user facing methods and variables
...
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:
* pos -> position
* rot -> rotation
* loc -> location
C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Rémi Verschelde
aebf4fb48c
Merge pull request #11106 from hpvb/documentation-fix-poolarrays
...
Correct the Pool*Array documentation
2017-09-12 15:02:22 +02:00
Rémi Verschelde
4f51211dfb
Merge pull request #11028 from mrawlingst/color-RGBA32
...
Change Color.to_32() to Color.to_rgba32() and lowercase other functions
2017-09-12 13:44:43 +02:00
Hein-Pieter van Braam
daa66cd5c2
Correct the Pool*Array documentation
2017-09-09 16:39:22 +02:00
mrawlingst
6aa5bc2347
Change Color.to_32() to to_rgba32() and format as RGBA
2017-09-07 16:19:44 -04:00
Juan Linietsky
c771e03ee2
-Fixed changes to default input actions not working, closes #10502
...
-Added Array.duplicate() method, needed to fix above
2017-09-06 18:14:04 -03:00
Ferenc Arn
a0bbf5c9af
Remove Basis::set_scale and Basis::set_rotation_* functions.
...
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.
Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.
2017-08-29 21:47:59 -04:00
Rémi Verschelde
bd282ff43f
Use HTTPS URL for Godot's website in the headers
2017-08-27 14:16:55 +02:00
Przemysław Gołąb (n-pigeon)
6d56c73de7
Exposed Transform.interpolate_with()
...
Additionaly changed values names for 2D version to more descriptive ones.
2017-08-20 00:09:45 +02:00
Wilson E. Alvarez
6d112a68b6
Moved member variables from constructor to initialization list
2017-08-08 21:43:19 -04:00