Paweł Fertyk
ee8c9bb614
Return error when decompressing empty PoolByteArray
2021-05-25 18:43:26 +02:00
Rémi Verschelde
215e43242c
Merge pull request #49037 from vnen/fix-callable-freed-crash
2021-05-24 19:52:32 +02:00
George Marques
ea44744e2d
Make Callable not crash on call when the object has been freed
...
Also add a GDScript test for this case.
2021-05-24 14:23:02 -03:00
Mario Liebisch
bf708e72dc
Increase line counter when parsing comments
2021-05-23 09:37:53 +02:00
Marcel Admiraal
afdc5edb2a
Remove alloca from loop and use a single fixed size array declaration
2021-05-21 13:04:55 +01:00
JohnM666
b19544e91d
Fix #46282 Executing RigidBody3D.get_inverse_inertia_tensor() crashes Godot
2021-05-20 10:46:24 +03:00
Rémi Verschelde
ed11756d26
GDNative: Fix size mismatch on 32-bit platforms for Signal and Callable
...
Fixes #48645 .
2021-05-11 20:25:01 +02:00
Rémi Verschelde
01f80201bf
Merge pull request #38645 from KoBeWi/FMR
...
Add filter, map and reduce to Array
2021-05-06 20:44:01 +02:00
Hugo Locurcio
3f078c99f6
Rename IP_Unix
, IP_Address
and TCP_Server
to remove underscores
2021-05-06 02:52:01 +02:00
Tomasz Chabora
c50acc7339
Add filter, map and reduce to Array
2021-05-05 15:54:57 +02:00
Rémi Verschelde
c9e874b62d
Merge pull request #48442 from akien-mga/posmod-int64_t
...
Re-bind posmod, use int64_t instead of int
2021-05-04 15:15:52 +02:00
Rémi Verschelde
e196733e88
Re-bind posmod, use int64_t instead of int
...
Fixes #48420 , fixes #48421 .
The binding was missed when moving GDScript built-in to Global Scope it seems.
Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2021-05-04 13:25:08 +02:00
reduz
c76acf6890
Add RPC to Callable
...
-Up to each scripting language to implement this
-If not supported for the function, it will just error when you try to call
2021-05-03 19:21:37 -03:00
Rémi Verschelde
f9b9992c25
Merge pull request #35245 from qarmin/unsigned_bit_shift
...
Don't allow to use in bit shift negative operands
2021-05-03 15:48:49 +02:00
Rémi Verschelde
9e9ac9f6ad
Merge pull request #46476 from DarknessCatt/master
...
Add fill method to Arrays and PackedArrays
2021-04-28 16:52:31 +02:00
Rémi Verschelde
305b2a15bf
Merge pull request #48239 from akien-mga/goodbye-copymem
...
Core: Drop custom `copymem`/`zeromem` defines
2021-04-28 11:04:05 +02:00
Florian Kothmeier
054d8852b9
Add error_string function
2021-04-27 22:02:35 +02:00
Florian Kothmeier
a2c419bdc9
Raise error if Resource is of wrong type as function argument
2021-04-27 21:24:08 +02:00
Rémi Verschelde
8247667a3e
Core: Drop custom copymem
/zeromem
defines
...
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f6639
.
There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27 16:26:27 +02:00
Matheus Lima Cunha
efd27a63c1
Add fill method to Arrays and PackedArrays
2021-04-21 11:33:53 -03:00
George Marques
a6c5938909
Remove return value type adjust of builtin method calls
...
Make calls faster with the caveat that the caller needs to make sure
that the return value type is already correct.
2021-04-16 12:04:34 -03:00
Julien Nguyen
026b8497d1
Fix PackedFloat32Array get index not working
2021-04-12 23:33:06 +02:00
reduz
e67c63108b
Add marshalling to PackedByteArray
...
-Decode/Encode functions for u8,s8,u16,s16,u32,s32,u64,s64,half,float,double,variant
-Improved binder template to allow this
Given in Godot 4.0 PackedByteArray is passed as reference, it is now possible to have these functions there, which makes the most sense.
2021-04-10 13:09:22 -03:00
Rémi Verschelde
d83761ba80
Style: Apply clang-tidy's readability-braces-around-statements
2021-04-05 14:09:59 +02:00
Rémi Verschelde
4b6e9f3157
Merge pull request #46991 from madmiraal/rename-invert-reverse
...
Rename Array.invert() to Array.reverse()
2021-04-01 13:32:22 +02:00
Rémi Verschelde
aba03110ba
Merge pull request #46830 from vnen/gdscript-typed-arrays
...
GDScript typed arrays
2021-03-29 16:47:38 +02:00
mashumafi
c2d1c1c3ee
Array::insert consistent with Pool*Array::insert
2021-03-27 17:27:19 -04:00
Marcel Admiraal
755c70b871
Rename Array.invert() to Array.reverse()
...
Does the same internally for List and Vector<>, which includes all
PackedArray types.
2021-03-21 10:20:08 +00:00
Aaron Franke
affe3c817a
Use real_t in GridMap and VariantParser
2021-03-19 00:56:34 -04:00
George Marques
997a8ae9e8
Make Variant setget use set() method of Array
...
This ensure that typed arrays are properly checked when setting an
element.
Moved the macro to a straight declaration since the macro was only used
for Array and it now is quite specific to the Array class.
2021-03-18 10:18:59 -03:00
George Marques
fbfdd5e110
Add functions to retrieve type of a typed Array
2021-03-18 10:18:58 -03:00
George Marques
497dab94be
Don't check type when assigning Array
...
The array should just assimilate the type of the other one since
assignment in this case means a change in the reference.
This also adds a `typed_assign` function for the cases where type
validation is wanted.
2021-03-18 10:18:58 -03:00
Rémi Verschelde
224f5cab99
Merge pull request #46378 from reduz/static-method-in-variant-types
...
Add static method support to core Variant types
2021-03-16 15:44:04 +01:00
reduz
ecfa570ccb
Add static method support to core Variant types
...
* Properly exposed, including validated and variant call
* Bound static functions in String and Color
* Did not add support for scripting languages, will have to be added manually.
2021-03-16 10:53:05 -03:00
Anshul7sp1
91181c2086
Fixes small typos and grammar correction
2021-03-12 19:05:16 +05:30
Rémi Verschelde
83b1acdc60
Merge pull request #45545 from abaire/relaxes_gltf_name_sanitization
...
Relaxes node name sanitization in gltf documents.
2021-03-09 14:54:33 +01:00
Alex Hirsch
6985967c3b
Add missing ERR_FAIL_INDEX check to Variant::construct
...
Other functions in the same file validate parameters using the ERR_FAIL
macros. This validation was missing for Variant::construct resulting in
a crash when called with invalid data (p_type < 0).
fix #46067
2021-03-04 18:50:37 +01:00
Rafał Mikrut
2cbdcb03a1
Don't allow to use in bit shift negative operands
2021-03-04 16:25:40 +01:00
abaire
61cc1c8624
Relaxes Node naming constraints in glTF documents to match the Editor.
2021-02-24 08:22:27 -08:00
George Marques
f1088e1b70
Bind ClockDirection enum
...
It's the only enum in math_defs.h not bound, and it's used by Plane.
2021-02-23 13:56:28 -03:00
Aaron Franke
7d9ad2b845
Use Vector3.UP as a default value for look_at's up vector
2021-02-16 18:33:23 -05:00
JestemStefan
2c71ff1119
Added signed_angle_to for Vector3
2021-02-16 05:07:33 -05:00
kobewi
fb83d905da
Change sort_custom/bsearch_custom to use Callables
2021-02-04 14:37:52 +01:00
Aaron Franke
f55445079a
Replace ColorN and from HTML with a string constructor
2021-02-01 17:27:19 -05:00
Aaron Franke
e829b7aee4
Unify URI encoding/decoding and add to C#
...
http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
2021-01-28 07:45:01 -05:00
Aaron Franke
a3e3bf8227
Make hex_to_int and bin_to_int handle the prefix automatically
...
Also add BinToInt to C#
2021-01-28 07:43:53 -05:00
Rémi Verschelde
976e768e71
Merge pull request #45489 from aaronfranke/core
...
Type consistencies in core
2021-01-27 21:16:20 +01:00
Aaron Franke
1be0d6b30e
Type consistencies in core
2021-01-26 13:04:22 -05:00
Yuri Roubinsky
38a5d22079
Renamed String.ord_at to unicode_at
2021-01-26 20:36:12 +03:00
Marcel Admiraal
8b983bddfb
Remove Quat set methods in favour of constructors
2021-01-26 06:52:04 +00:00
Rémi Verschelde
f6be114d02
Merge pull request #44427 from briansemrau/fix-variant-bitand-validated-eval
...
Fix bitwise-and eval not updating return type
2021-01-11 13:53:27 +01:00
Rémi Verschelde
eea3287c2d
Merge pull request #44661 from AndreaCatania/AndreaCatania-patch-5
...
Fixes: GDscript min and max are inverted
2021-01-05 13:42:08 +01:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Rémi Verschelde
6cebb8c117
Merge pull request #44586 from madmiraal/rename-stepify
...
Rename Math::stepify to snapped
2020-12-28 21:46:43 +01:00
Rémi Verschelde
058f3fe069
Merge pull request #44149 from madmiraal/rename-tangent-orthogonal
...
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-28 16:00:12 +01:00
Marcel Admiraal
b743a2ef3c
Rename Math::stepify to snapped
2020-12-28 13:01:30 +00:00
Marcel Admiraal
b628912af0
Rename Rect2 and Rect2i grow_margin() to grow_side()
2020-12-28 12:47:33 +00:00
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
George Marques
d66a58a4d4
Add helper count function to Variant
...
To get counts of items before getting the list, which is useful for
GDNative so users can pre-allocate the buffer with the correct size
without having to get the list twice.
2020-12-27 11:14:29 -03:00
Andrea Catania
7c6506e028
Fixes: GDscript min and max are inverted
2020-12-24 18:03:50 +01:00
Marcel Admiraal
4b8b803931
Rename Control margin to offset
2020-12-23 06:25:56 +00:00
Rémi Verschelde
6532596d97
Merge pull request #44472 from winterpixelgames/PR-duplicate-packedarrays
...
Add support for duplicate() for Packed*Array, and they are pass by ref in godot 4.0
2020-12-21 17:30:01 +01:00
Marcel Admiraal
2df9a8ccad
Rename Rect2 and Rect2i clip() to intersection()
2020-12-19 12:59:08 +00:00
Jordan Schidlowsky
2d56e09276
packed*arrays are pass by ref now. support duplicate and update documentation
2020-12-17 16:09:32 -06:00
Pedro J. Estébanez
1b745c7bae
Fix crash parsing a serialized Reference
2020-12-17 12:24:57 +01:00
Brian Semrau
bb4d44102d
Fix bitwise-and eval not updating return type
2020-12-16 08:59:06 -05:00
Rémi Verschelde
cb42bf113c
Merge pull request #44406 from vnen/variant-ptr-construct
...
Add PtrConstruct template to use in Variant constructors
2020-12-15 22:59:32 +01:00
George Marques
b3f452b1d2
Change template order in method_ptrcall.h
...
To be consistent with the enum in Variant so missing types can be more
easily spotted.
2020-12-15 17:02:50 -03:00
George Marques
35e7490c95
Add PtrConstruct template to use in Variant constructors
...
Since the PtrToArg::encode requires the value to be constructed
previously. With PtrConstruct this is not required.
2020-12-15 16:57:44 -03:00
George Marques
0abacae2d3
Fix object check on Variant key checker
2020-12-10 18:18:52 -03:00
George Marques
e4e9231420
Use pointer parameters in Variant function pointers
...
Instead of references. This is needed because those function pointers
are used in GDNative which needs to work with plain C, which doesn't
support passing parameters by reference.
2020-12-10 18:18:47 -03:00
Aaron Franke
5465e604bb
Improve argument names for core types
2020-12-07 05:01:33 -05:00
Marcel Admiraal
a24c38d1a8
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-06 18:16:06 +00:00
Tomasz Chabora
4c232e4222
Fix subtracting colors and quats
2020-12-03 14:22:12 +01:00
George Marques
029fd88adb
Fix VariantInternal initialization and setting of object
...
- Initialize Object pointer to nullptr so it's not used by mistake.
- When setting an Object check if it's a reference so refcounting works
as intended.
2020-11-30 14:49:52 -03:00
bruvzg
493da99269
[Complex Text Layouts] Implement TextServer interface. Implement Fallback TextServer.
2020-11-26 13:55:26 +02:00
Rémi Verschelde
ff790796af
Merge pull request #43864 from vnen/fix-print-utilities
...
Fix prints and printt functions printing as errors
2020-11-25 23:07:52 +01:00
George Marques
40b683f8bb
Fix prints and printt functions printing as errors
2020-11-25 16:18:41 -03:00
Rémi Verschelde
d76806d322
Core: Always enable ptrcall, remove PTRCALL_ENABLED define
...
ptrcall is now also used to optimize calls in GDScript, on top of the existing
use by the GDNative and Mono modules.
It no longer makes sense to make it optional.
2020-11-25 14:08:17 +01:00
Rafał Mikrut
7bd03b7188
Initialize class/struct variables with default values in core/ and drivers/
2020-11-23 17:38:46 +01:00
Rémi Verschelde
4ed42bfc29
Merge pull request #43725 from vnen/gdscript-typed-vm-2
...
GDScript: Typed VM Take 2
2020-11-23 09:59:20 +01:00
George Marques
15b085e8db
Add extra functions to VariantInternal
...
- Allow getting an opaque pointer, no matter the type (for ptrcall).
- Allow setting object pointer and id directly.
- Allow initializing the data given a type, to allow properly setting
return types on ptrcalls.
2020-11-21 13:24:49 -03:00
George Marques
c8e3fb8b05
Variant: Merge get() and validated_get()
...
Since they do pretty much the same thing. The validated_get() was
renamed to get() since that is more performant.
2020-11-20 17:26:19 -03:00
George Marques
8a9e3524a9
Fix variant getters not setting return type
...
The validated getters were only setting the value without changing the
type, leading to wrong results. This uses the same path used for
methods to the same purpose.
2020-11-20 15:55:17 -03:00
George Marques
bd93547c83
Fix return type on builtin validated calls
...
Before it was being set to the base type instead of the actual return
type.
2020-11-18 10:35:16 -03:00
Rémi Verschelde
c6dcf3310d
doc: Sync classref with Variant utility methods
...
Copied relevant documentation from the original `@GDScript` built-ins,
which will likely be removed in a future commit.
Various fixups to `variant_utility.cpp` while working on this.
2020-11-17 11:26:24 +01:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script
2020-11-16 23:38:11 -05:00
reduz
635d33dc6c
Refactor variant built-in methods yet again.
...
* Using C-style function pointers now, InternalMethod is gone.
* This ensures much better performance in typed code.
* Renamed builtin_funcs to utility_funcs, to avoid naming confusion
2020-11-11 16:36:36 -03:00
reduz
5288ff538d
Create Variant built-in functions.
...
-Moved Expression to use this, removed its own.
-Eventually GDScript/VisualScript/GDNative need to be moved to this.
-Given the JSON functions were hacked-in, removed them and created a new JSONParser class
-Made sure these functions appear properly in documentation, since they will be removed from GDScript
2020-11-10 19:31:10 -03:00
Rémi Verschelde
03ae26bb74
Merge pull request #43398 from KoBeWi/add_an_array_to_another_array_but_with_a_method
...
Add append_array() method to Array class
2020-11-10 13:53:58 +01:00
Rémi Verschelde
0f249f5c0a
Variant: Sync docs with new constructors, fixups after #43403
...
Change DocData comparators for MethodDoc and ArgumentDoc to get a better
ordering of constructors.
2020-11-09 23:39:53 +01:00
reduz
9979abce74
Change how no-arg constructor is handled internally in Variant.
2020-11-09 16:28:15 -03:00
Rémi Verschelde
b4a0661885
Merge pull request #43419 from reduz/document-operators
...
Make sure operators appear in the docs too
2020-11-09 19:54:34 +01:00
Rémi Verschelde
aa6a1094a5
Merge pull request #43415 from bruvzg/var_ctr_af32
...
Fix duplicate variant constructor typo.
2020-11-09 19:21:20 +01:00
reduz
11bf2ec6d1
Make sure operators appear in the docs too
...
Add "operator" and "constructor" qualifiers to make it easier to
see in the docs.
2020-11-09 14:12:01 -03:00
bruvzg
a4a21654b1
Fix duplicate variant constructor typo.
2020-11-09 18:34:17 +02:00
Rémi Verschelde
9d2e8f2f27
Variant: Rename Type::_RID to Type::RID
...
The underscore prefix was used to avoid the conflict between the `RID` class
name and the matching enum value in `Variant::Type`.
This can be fixed differently by prefixing uses of the `RID` class in `Variant`
with the scope resolution operator, as done already for `AABB`.
2020-11-09 16:29:04 +01:00
reduz
221a2a1742
Refactored variant constructor logic
2020-11-09 08:54:43 -03:00
Tomasz Chabora
9f23a94b8a
Add append_array() method to Array class
2020-11-08 21:09:45 +01:00
reduz
127458ed17
Reorganized core/ directory, it was too fatty already
...
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00