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
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
George Marques
0f765c86e5
Add GZIP compression support
...
- Fix a wrong call in PoolByteArray::compress
2017-07-13 14:41:10 -03:00
George Marques
af7d590206
Add basic compression functions to PoolBaseArray
2017-06-19 16:38:10 -03:00
toger5
66b308925c
added grow functions to Rect2
...
- grow_individual
- grow_margin
2017-06-05 01:11:00 -07:00
Juan Linietsky
5b3709d309
Removal of InputEvent as built-in Variant type..
...
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Emmanuel Leblond
abcb044bf3
Finish implementation of GDnative builtins bindings
2017-05-19 23:28:15 +02:00
Juan Linietsky
98a3296702
Removal of Image from Variant, converted to a Resource.
2017-05-17 07:37:45 -03:00
Rémi Verschelde
5ae1e172da
Merge pull request #8277 from tagcup/math_checks
...
Added various functions basic math classes. Also enabled math checks …
2017-04-24 11:16:20 +02:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02:00
Ferenc Arn
9a37ff1e34
Added various functions basic math classes. Also enabled math checks only for debug builds.
...
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
2017-04-06 13:03:56 -05:00
Ferenc Arn
1a620bd5fa
Made slide and reflect active verbs acting on itself in Vector2 and Vector3.
...
This is in alignment with other functions in vector classes.
Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs.
Fixes #8201 .
2017-04-03 10:02:12 -05:00
Rémi Verschelde
5dbf1809c6
A Whole New World (clang-format edition)
...
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
AlexHolly
9f7ce79ea3
added join to PoolStringArray
2017-03-01 16:30:34 +01:00
Hein-Pieter van Braam
0f687f0ccb
Remove use of _SCS from ADD_METHOD
...
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Rémi Verschelde
2a0ddc1e89
Style: Various fixes to play nice with clang-format
2017-01-16 08:49:52 +01:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +01:00
Rémi Verschelde
3890256fc5
Style: Cleanups, added headers, renamed files
...
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.
Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
2017-01-16 08:04:23 +01:00
Juan Linietsky
7c4167de64
Merge pull request #7010 from AlexHolly/format-string2
...
advanced string format
2017-01-14 11:56:24 -03:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
d9d77291bc
rename String.extension() -> String.get_extension() / String.basename() -> String.get_basename()
2017-01-14 00:51:09 -03:00
Juan Linietsky
6e88b1096a
Vector2.get_aspect() renamed to Vector2.aspect() to keep consistent method naming
2017-01-13 20:00:43 -03:00
Juan Linietsky
e6583117df
Both Array and Dictionary are always in shared mode (removed copy on write).
2017-01-11 08:54:17 -03:00
Juan Linietsky
bc26f90581
Type renames:
...
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
710692278d
Merge pull request #7426 from m4nu3lf/bugfix/physics
...
Fixed inertia tensor computation and center of mass
2017-01-10 22:27:32 -03:00
Emmanuel Leblond
0fbf3b990d
Remove deprecated Vector2.floorf method
2017-01-10 09:11:36 +01:00
Juan Linietsky
62273e51a2
Moved JSON functions to built-in to_json, parse_json, validate_json
2017-01-08 22:40:00 -03:00
m4nu3lf
2e38b32e0f
Fixed inertia tensor computation and center of mass
2017-01-09 00:13:54 +00:00
Juan Linietsky
547a57777b
renamed joystick to joypad everywhere around source code!
2017-01-08 17:06:33 -03:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
0b2771bd65
Merge pull request #7271 from Faless/ipv6_cleanup
...
Fixes and improvementes for IPv6 implementation.
2017-01-02 15:51:45 +01:00
Rémi Verschelde
c7bc44d5ad
Welcome in 2017, dear changelog reader!
...
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Fabio Alessandrelli
c18c5013f8
Migrate int.IP_TYPE_ constants to IP.TYPE_
2016-12-09 18:24:59 +01:00
Kazuo256
bf4fda64fd
Add Array.front() and Array.back()
2016-11-18 18:45:51 -02:00
AlexHolly
d8129719c2
advanced string format
2016-11-01 15:14:48 +01:00
Ariel Manzur
887a897c02
adding ipv6
2016-10-18 18:53:18 -03:00