Commit Graph

388 Commits

Author SHA1 Message Date
a367378f9e Rename Vector parameters to be consistent
Renames parameters that were named differently across different
scripting languages or their documentation to use the same name
everywhere.
2021-12-01 21:14:46 +01:00
dd30253cdc PackedByteArray, Array slice end exclusive, rename subarray to slice 2021-11-26 22:13:12 -06:00
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
a74acca858 Expose randfn to global scope 2021-11-17 14:29:19 +03:00
8fb7e622a6 Rename built-in SGN() macro to SIGN()
This matches the name of the GDScript function (except it's uppercase
here).
2021-11-16 20:40:49 +01:00
3c0fdcc8ac Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
1aa3c8419b Merge pull request #54869 from akien-mga/string-remove-erase 2021-11-11 13:00:21 +01:00
e2e9b08cc7 Color: Bind from_hsv as static method 2021-11-11 11:50:02 +01:00
2beaae4b6f String: Remove erase method, bindings can't mutate String 2021-11-11 11:23:32 +01:00
06a33e590f Merge pull request #53819 from TokageItLab/re-implement-ping-pong
Reimplement ping-pong animation and reverse playback
2021-11-09 22:11:04 +01:00
63559f2c80 Merge pull request #54186 from miraz12/fix-packedByteArray-memcpy-crash 2021-11-08 13:33:07 +01:00
dc11e73bf0 Rename AABB get_area to get_volume 2021-11-05 18:22:42 -04:00
953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
ab6ec9310c Merge pull request #54453 from KoBeWi/slice_of_string 2021-11-02 13:18:34 +01:00
e5725c7deb Expose String.get_slice 2021-11-02 11:24:07 +01:00
f9ba2efe1e Modify Dictionary::operator== to do real key/value comparison with recursive support (and add unittests) 2021-10-30 13:11:01 +02:00
3b11e33a09 clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
9ed8417271 Fixed crash in variant_call when trying to memcpy 0 bytes. 2021-10-27 19:01:33 +02:00
d03b7fbe09 Refactored Node3D rotation modes
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis

Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25 14:34:00 -03:00
a69541da4c Implement Animation Compression
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different).

* Implement bitwidth based animation compression (see animation.h for format).
* Can compress imported animations up to 10 times.
* Compression format opens the door to streaming.
* Works transparently (happens all inside animation.h)
2021-10-21 18:27:34 -03:00
b4eeeb315a Swap args of Plane(point, normal) constructor
Now (normal, point)
2021-10-15 20:49:42 -05:00
4c14051b3f Zero Dictionary and Array variants when changing type with reset
So they don't reference to the old values anymore and instead refer to
a new value.
2021-10-14 11:22:17 -03:00
610de0974d Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" 2021-10-11 19:27:50 -03:00
9ed4f8367b Merge pull request #48332 from TokageItLab/implement-ping-pong 2021-10-11 22:55:01 +02:00
e270d1cce3 Fix autocompletion of built-in functions in GDScript 2021-10-11 19:06:17 +03:00
372ba76663 implement ping-pong loop in animation
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
575d4e00b6 Enhance and cleanup stringify for Vector 2021-10-09 06:19:25 +00:00
4a723842b6 Faster hash_compare for integer and string keys in dictionaries 2021-10-08 10:09:13 +02:00
49e7e049ab Merge pull request #53422 from KoBeWi/add_LUA_to_Godot 2021-10-07 23:37:37 +02:00
6090f90743 Merge pull request #53545 from vnen/gdscript-release 2021-10-07 23:28:34 +02:00
fafa8c7f6e Enable method type information on release builds
This is needed to ensure GDScript compilation works properly on release
builds and make use of optimized typed instructions.
2021-10-07 16:13:44 -03:00
13a2d03dde Add Variant in operator for any String/StringName operands
Allow using String or StringName types as operand in any position of the
`in` operator, which is more convenient in scripting when interacting
with data in the engine (such as a Node name).
2021-10-06 22:07:32 -03:00
3f3ed5d34c NaN, INF read/write bug fixed
Fix: #40589
2021-10-05 09:25:49 -04:00
9e5fdbc79d Fix LUA-style assignment in Dictionary 2021-10-05 12:17:13 +02:00
cdac60759e Add support for unbinding in connection dialog 2021-10-04 21:41:21 +02:00
b32f84d473 Merge pull request #52850 from mashumafi/vector-bsearch 2021-10-01 07:52:51 +02:00
214bbfbefe Implement bsearch for Vector and Packed*Array 2021-09-30 23:57:26 +00:00
c63b18507d Use range iterators for Map 2021-09-30 15:09:12 -06:00
0276c2e74a Fix const pointers types in docs and extension API.
The GDVIRTUAL_NATIVE_PTR did not declare the correct GDNativeConstPtr
template, resulting in "void*" being used as it's type info in both the
documentation and the extension API dump.
2021-09-29 16:04:20 +02:00
6141ce2cb8 GDScript Don't double-reference Refs returned from native function 2021-09-28 12:40:23 -04:00
d18cbdf5e4 Merge pull request #52481 from Faless/net/4.x_native_peers
[Net] Extension system for network peers, webrtc.
2021-09-28 12:57:45 +02:00
0abe464162 Merge pull request #52849 from KoBeWi/know_no_binds 2021-09-25 00:10:56 +02:00
b9e6cc8f4f [Net] Enable PacketPeer native extensions. 2021-09-24 18:40:39 +02:00
7bf5fc709e Remove binds from Signal.connect 2021-09-24 17:07:33 +02:00
ba57252bd8 Merge pull request #52878 from AnilBK/add-get-center 2021-09-21 21:30:30 +02:00
90908cd67d Add Get Center Method for Rect2/Rect2i and AABB. 2021-09-21 21:14:17 +05:45
650b1db4b8 Add print_verbose() built-in function to print in verbose mode only
This can be used as a shorthand for:

    if OS.is_stdout_verbose():
        print("...")

Unlike `print_debug()`, this works in release builds too and can
be toggled off in debug builds.
2021-09-21 15:59:49 +02:00
89417ba75b Merge pull request #52398 from deakcor/dev-transform 2021-09-20 08:46:51 +02:00
aa82cb6f35 Expose get_skew for transform2d and add new constructor
Expose set_scale and set_skew for transform2d

Replacing float by real_t

Adding const parameters

Updated transform2d doc
2021-09-19 17:10:05 +02:00
262d9397fb Allow indexing of String values in scripting languages 2021-09-17 16:24:56 -03:00