summaryrefslogtreecommitdiffstats
path: root/core/variant/binder_common.h
Commit message (Collapse)AuthorAgeFilesLines
* Create GDExtension clases for PhysicsServer3Dreduz2022-03-151-0/+4
| | | | | | | * Allows creating a GDExtension based 3D Physics Server (for Bullet, PhysX, etc. support) * Some changes on native struct binding for PhysicsServer This allows a 3D Physics server created entirely from GDExtension. Once it works, the idea is to port the 2D one to it.
* Remove VARIANT_ARG* macrosreduz2022-03-091-3/+3
| | | | | | | | * Very old macros from the time Godot was created. * Limited arguments to 5 (then later changed to 8) in many places. * They were replaced by C++11 Variadic Templates. * Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard. * Also added a dereference check for Variant*. Helped catch a couple of bugs.
* Allow method binds to take Object subclasses as argumentsTechnoPorg2022-01-251-22/+28
| | | | | | This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object. This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary. A few small changes also had to be made to other files, due to the changes cascading down all the includes.
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* align to horizontal_alignment, valign to vertical_alignment, relatedNathan Franke2021-12-091-3/+3
|
* Expose max_axis_index and max_axis_index for Vector2(i)Aaron Franke2021-12-021-0/+3
| | | | Some cleanup with Vector3(i)'s methods so that it is consistent with Vector2, for example it returns enums internally (GDScript still gets ints).
* Use "enum class" for input enumsAaron Franke2021-11-121-1/+1
|
* Refactored Node3D rotation modesreduz2021-10-251-0/+1
| | | | | | | | | * 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).
* Enable method type information on release buildsGeorge Marques2021-10-071-11/+3
| | | | | This is needed to ensure GDScript compilation works properly on release builds and make use of optimized typed instructions.
* Use Key enum instead of plain integersAaron Franke2021-08-101-0/+3
|
* [Text Server] Improve object (image/table) inline alignment.bruvzg2021-08-081-0/+1
|
* [Core] Make enum variant cast and encoding 64 bitsFabio Alessandrelli2021-07-271-3/+3
| | | | | | 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).
* Implement native extension systemreduz2021-06-251-0/+2
| | | | | | * Deprecates GDNative in favor of a simpler, lower level interface. * New extension system allows registering core engine classes. * Simple header interface in gdnative_interace.h
* Move many input enums to their own fileAaron Franke2021-06-201-0/+7
|
* Raise error if Resource is of wrong type as function argumentFlorian Kothmeier2021-04-271-0/+12
|
* Add marshalling to PackedByteArrayreduz2021-04-101-0/+66
| | | | | | | -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.
* Add static method support to core Variant typesreduz2021-03-161-0/+164
| | | | | | * 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.
* Bind ClockDirection enumGeorge Marques2021-02-231-0/+1
| | | | It's the only enum in math_defs.h not bound, and it's used by Plane.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | 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 🎆
* Rename Control margin to offsetMarcel Admiraal2020-12-231-1/+1
|
* Core: Always enable ptrcall, remove PTRCALL_ENABLED defineRémi Verschelde2020-11-251-25/+1
| | | | | | | 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.
* Refactor variant built-in methods yet again.reduz2020-11-111-0/+33
| | | | | | * 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
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-0/+657
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code