Nathan Franke
41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related
2021-12-09 01:38:46 -06:00
Rémi Verschelde
46d384060e
Merge pull request #35901 from nathanfranke/pool-byte-array-subarray-exclusive
2021-12-07 14:00:59 +01:00
Aaron Franke
24f57886d0
Expose max_axis_index and max_axis_index for Vector2(i)
...
Some cleanup with Vector3(i)'s methods so that it is consistent with Vector2, for example it returns enums internally (GDScript still gets ints).
2021-12-02 23:45:41 -06:00
Raul Santos
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
Nathan Franke
dd30253cdc
PackedByteArray, Array slice end exclusive, rename subarray to slice
2021-11-26 22:13:12 -06:00
Lightning_A
e078f970db
Rename `remove()` to `remove_at()` when removing by index
2021-11-23 18:58:57 -07:00
Yuri Roubinsky
a74acca858
Expose `randfn` to global scope
2021-11-17 14:29:19 +03:00
Hugo Locurcio
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
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
Rémi Verschelde
1aa3c8419b
Merge pull request #54869 from akien-mga/string-remove-erase
2021-11-11 13:00:21 +01:00
Rémi Verschelde
e2e9b08cc7
Color: Bind `from_hsv` as static method
2021-11-11 11:50:02 +01:00
Rémi Verschelde
2beaae4b6f
String: Remove `erase` method, bindings can't mutate String
2021-11-11 11:23:32 +01:00
Rémi Verschelde
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
Rémi Verschelde
63559f2c80
Merge pull request #54186 from miraz12/fix-packedByteArray-memcpy-crash
2021-11-08 13:33:07 +01:00
Brian Semrau
dc11e73bf0
Rename AABB `get_area` to `get_volume`
2021-11-05 18:22:42 -04:00
Silc 'Tokage' Renew
953a7bce7e
reimplement ping-pong
2021-11-03 13:39:33 +09:00
Rémi Verschelde
ab6ec9310c
Merge pull request #54453 from KoBeWi/slice_of_string
2021-11-02 13:18:34 +01:00
kobewi
e5725c7deb
Expose String.get_slice
2021-11-02 11:24:07 +01:00
Emmanuel Leblond
f9ba2efe1e
Modify Dictionary::operator== to do real key/value comparison with recursive support (and add unittests)
2021-10-30 13:11:01 +02:00
Rémi Verschelde
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
Anton Christoffersson
9ed8417271
Fixed crash in `variant_call` when trying to memcpy 0 bytes.
2021-10-27 19:01:33 +02:00
reduz
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
reduz
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
mennomax
b4eeeb315a
Swap args of Plane(point, normal) constructor
...
Now (normal, point)
2021-10-15 20:49:42 -05:00
George Marques
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
Juan Linietsky
610de0974d
Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation"
2021-10-11 19:27:50 -03:00
Rémi Verschelde
9ed4f8367b
Merge pull request #48332 from TokageItLab/implement-ping-pong
2021-10-11 22:55:01 +02:00
Yuri Roubinsky
e270d1cce3
Fix autocompletion of built-in functions in GDScript
2021-10-11 19:06:17 +03:00
Tokage
372ba76663
implement ping-pong loop in animation
...
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
mashumafi
575d4e00b6
Enhance and cleanup stringify for Vector
2021-10-09 06:19:25 +00:00
Bartłomiej T. Listwon
4a723842b6
Faster hash_compare for integer and string keys in dictionaries
2021-10-08 10:09:13 +02:00
Rémi Verschelde
49e7e049ab
Merge pull request #53422 from KoBeWi/add_LUA_to_Godot
2021-10-07 23:37:37 +02:00
Rémi Verschelde
6090f90743
Merge pull request #53545 from vnen/gdscript-release
2021-10-07 23:28:34 +02:00
George Marques
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
George Marques
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
Thakee Nathees
3f3ed5d34c
NaN, INF read/write bug fixed
...
Fix : #40589
2021-10-05 09:25:49 -04:00
kobewi
9e5fdbc79d
Fix LUA-style assignment in Dictionary
2021-10-05 12:17:13 +02:00
kobewi
cdac60759e
Add support for unbinding in connection dialog
2021-10-04 21:41:21 +02:00
Rémi Verschelde
b32f84d473
Merge pull request #52850 from mashumafi/vector-bsearch
2021-10-01 07:52:51 +02:00
mashumafi
214bbfbefe
Implement bsearch for Vector and Packed*Array
2021-09-30 23:57:26 +00:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
Fabio Alessandrelli
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
Fabio Alessandrelli
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
Rémi Verschelde
0abe464162
Merge pull request #52849 from KoBeWi/know_no_binds
2021-09-25 00:10:56 +02:00
Fabio Alessandrelli
b9e6cc8f4f
[Net] Enable PacketPeer native extensions.
2021-09-24 18:40:39 +02:00
kobewi
7bf5fc709e
Remove binds from Signal.connect
2021-09-24 17:07:33 +02:00
Rémi Verschelde
ba57252bd8
Merge pull request #52878 from AnilBK/add-get-center
2021-09-21 21:30:30 +02:00
Anilforextra
90908cd67d
Add Get Center Method for Rect2/Rect2i and AABB.
2021-09-21 21:14:17 +05:45
Hugo Locurcio
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
Rémi Verschelde
89417ba75b
Merge pull request #52398 from deakcor/dev-transform
2021-09-20 08:46:51 +02:00
Vincent D
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
George Marques
262d9397fb
Allow indexing of String values in scripting languages
2021-09-17 16:24:56 -03:00
Rémi Verschelde
220b69ab56
Merge pull request #52450 from aaronfranke/they-came-from-scale
...
Replace Vector3.to_diagonal_matrix with Basis.from_scale
2021-09-17 19:38:36 +02:00
George Marques
455e142d37
Allow comparing equality between builtin types and null
2021-09-17 12:33:52 -03:00
Aaron Franke
bf0213470c
Replace Vector3.to_diagonal_matrix with Basis.from_scale
2021-09-17 10:30:30 -05:00
Matthew Newall
f048a9ad4e
Added explicit type conversions
2021-09-13 14:26:47 +00:00
Gilles Roudière
4bd7700e89
Implement properties arrays in the Inspector.
2021-09-07 09:51:28 +02:00
George Marques
25ae279317
Merge pull request #52270 from KoBeWi/goodbye_polar
...
Remove cartesian2polar and polar2cartesian
2021-09-01 09:33:13 -03:00
George Marques
cf59028972
Merge pull request #48237 from KoBeWi/they_came_from_angle
...
Add Vector2.from_angle() method
2021-09-01 09:32:42 -03:00
kobewi
3f3739ccb5
Add Vector2.from_angle() method
2021-08-31 01:53:58 +02:00
kobewi
017c94222e
Remove cartesian2polar and polar2cartesian
2021-08-31 01:41:41 +02:00
Wilson E. Alvarez
d11c1afc04
Rename String::is_rel_path to String::is_relative_path
2021-08-29 20:41:29 -04:00
Max Hilbrunner
04c64b59a1
Merge pull request #47406 from mashumafi/master-Array-insert-rc
...
Array::insert consistent with Pool*Array::insert
2021-08-28 21:18:39 +02:00
Max Hilbrunner
99c2329b73
Merge pull request #43522 from qarmin/divide_by_zero_in_vectori
...
Fix crash when dividing by 0 in Vector2/3i
2021-08-28 19:53:28 +02:00
Max Hilbrunner
4e67e9bca6
Merge pull request #52090 from balloonpopper/bug52060
...
Correct null and boolean values being capitalised by the str command
2021-08-27 21:05:47 +02:00
Hugo Locurcio
60116b17b5
Add an `Array.pop_at()` method to pop an element at an arbitrary index
...
Negative indices are supported to pop an element relative from the end.
2021-08-27 00:51:17 +02:00
Balloonpopper
4fae7ae9dc
Correct null and boolean values being capitalised by the str command
2021-08-26 17:11:34 +10:00
Max Hilbrunner
7e0f1fa2ec
Merge pull request #52041 from Rubonnek/expose-simplify-path
...
Expose `String.simplify_path`
2021-08-24 17:06:16 +02:00
Wilson E. Alvarez
17821603b4
Expose String.simplify_path
2021-08-24 00:48:45 -04:00
reduz
65ca132a80
Expose RID creation utilities.
...
* Exposed as utility functions.
* Not very useful for script, but vital for creating servers using native extensions.
2021-08-23 21:55:45 -03:00
reduz
44d62a9f4b
Implement NativeExtension pointer arguments
...
* Allows calling into native extensions directly with a pointer
* Makes it easier to implement some APIs more efficiently
* Appears with a "*" in the documentation for the argument.
* Implementing the pointer handling is entirely up to the implementation, although the extension API provides some hint.
* AudioStream has been implemented as an example, allowing to create NativeExtension based AudioStreams.
2021-08-23 19:58:40 -03:00
reduz
3682978aee
Replace BIND_VMETHOD by new GDVIRTUAL syntax
...
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.
Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.
Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Rémi Verschelde
603502c11c
Merge pull request #51902 from vnen/variant-internal-constructor
...
Fix initialization of objects in VariantInternal
2021-08-20 08:10:38 +02:00
George Marques
a685535ad5
Fix initialization of objects in VariantInternal
2021-08-19 20:19:47 -03:00
Rémi Verschelde
de7b6d13eb
Merge pull request #51627 from mhilbrunner/todo-for-neikeq
2021-08-18 20:13:50 +02:00
Aaron Franke
e5d85ac751
Fixes to tests for Variant and Geometry3D
2021-08-17 16:46:08 -05:00
Max Hilbrunner
81f7d1890b
Namespaces instead of underscore prefix for binds
...
Thanks to neikeq for the initial work.
Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
2021-08-17 16:10:09 +02:00
Rafał Mikrut
221f5da857
Fix crash when dividing by 0 in Vector2/3i
2021-08-15 22:18:17 +02:00
Rémi Verschelde
d7a39cc346
Merge pull request #38992 from Dragoncraft89/master
...
Error handling functions for GdScript
2021-08-11 18:43:27 +02:00
Aaron Franke
fa3a32a2d6
Use Key enum instead of plain integers
2021-08-10 16:26:55 -05:00
Rémi Verschelde
46beaacec3
Merge pull request #51017 from vnen/extension-fixes
2021-08-10 16:42:31 +02:00
Rémi Verschelde
16d73fefdb
Merge pull request #50682 from aaronfranke/basis-looking-at
...
Move code for looking_at to Basis
2021-08-10 11:28:12 +02:00
bruvzg
7c3c5603d0
[Text Server] Improve object (image/table) inline alignment.
2021-08-08 22:35:47 +03:00
George Marques
3f362cec68
Improve extension system
...
- Fix library loading and initialization.
- Add extra methods/parameters in the interface needed by extenstions.
- Add Variant destructors and functions for extracting values and
creating Variants from values.
2021-08-05 14:57:31 -03:00
George Marques
97947bc063
Fix a few default parameters in bindings
...
They have the wrong type and cause issues with extensions.
2021-08-05 14:57:29 -03:00
Aaron Franke
9f3ae0adcd
Move code for looking_at to Basis
2021-08-01 12:49:02 -05:00
Rémi Verschelde
d7b61838b1
Merge pull request #51084 from aaronfranke/no-dectime
...
Remove obsolete `dectime` method
2021-07-31 10:20:29 +02:00
Aaron Franke
2733b9abd8
Remove obsolete "dectime" method
...
Replaced by "move_toward"
2021-07-30 16:41:28 -05:00
Rémi Verschelde
f3aaa713d9
VariantParser: Fix uninitialized ResourceParser funcs
...
They could cause a segfault when parsing values with ID "Resource"
as apparently we never set a valid `func` for it.
Fixes crash part of #42115 .
2021-07-30 23:23:31 +02:00
Fabio Alessandrelli
324636473a
[Net] Fix Marshalls infinite recursion crash.
...
Variants like dictionaries and arrays can have cyclic references, which
caused `encode_variant` to run an infinite recursion.
Instead of keeping a stack and looking for cyclic references which would
make serialization slower, this commit adds a `MAX_RECURSION_DEPTH`
constant to Variant, and have `encode_variant` keep track of the current
recursion depth, bailing when it's too high since this likely means a
cyclic reference has been encountered.
2021-07-30 16:13:43 +02:00
Rémi Verschelde
b4778082d1
Merge pull request #50939 from vnen/fix-variant-bool-conversion
...
Change Variant bool conversion to uint8_t
2021-07-27 15:04:20 +02:00
George Marques
84c37423fb
Change Variant bool conversion to uint8_t
...
This ensures more portable conversion since not every path assume bool
is 32-bits and there's no loss converting to 8-bits anyway.
2021-07-27 09:00:56 -03:00
Fabio Alessandrelli
95088f6bfa
[Core] Make enum variant cast and encoding 64 bits
...
This should fix various issues where retrieving enum values from
scripting languages would result in corrupted values (where 32 bits
were valid, and the other 32 random data).
2021-07-27 12:29:03 +02:00
Rémi Verschelde
ff0b5f8fa1
Merge pull request #50809 from akien-mga/iterators-const-references
2021-07-25 12:52:58 +02:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
luz paz
3564c16cb8
Fix various typos with codespell
...
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
Rémi Verschelde
fb821b8398
Merge pull request #50535 from ChristopheClaustre/packedbytearray_decode_api
...
Change in PackedByteArray decode api and docs
2021-07-24 21:54:48 +02:00
ChristopheClaustre
20818c12b7
New to_***_array method to decode PackedByteArray to Packed***Array
...
Documentation for new PackedByteArray::to_***_array methods
Documentation for to_byte_array method for PackedInt32/Int64/Float32/Float64Array
2021-07-24 21:06:47 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Hugo Locurcio
4bd5e4fd9b
Use the standard C `INFINITY` and `NAN` constants directly
...
The `Math_INF` and `Math_NAN` defines were just aliases for those
constants, so we might as well use them directly.
Some portions of the code were already using `INFINITY` directly.
2021-07-21 10:41:08 +02:00