summaryrefslogtreecommitdiff
path: root/core/variant_call.cpp
AgeCommit message (Collapse)Author
2020-11-06Merge pull request #43283 from Calinou/color-remove-contrastedRémi Verschelde
Remove `Color.contrasted()` as its behavior is barely useful
2020-11-04doc: Sync classref with current source + fixup some bindingsRémi Verschelde
Includes various changes triggered by the refactoring of method bindings.
2020-11-03Remove `Color.contrasted()` as its behavior is barely usefulHugo Locurcio
Returning the most contrasting color isn't a trivial task, as there are often many possible choices. It's usually best left for the user to implement using a script.
2020-10-22Fix invalid method namesRafał Mikrut
2020-10-22Add name and base type to Variant::InternalMethod (on debug)George Marques
This is useful to showing error messages when a pointer to an InternalMethod is the only information available.
2020-10-18Refactor MethodBind to use variadic templatesreduz
Removed make_binders and the old style generated binders.
2020-10-14Refactored binding system for core typesreduz
Moved to a system using variadic templates, shared with CallableBind. New code is cleaner, faster and allows for much better optimization of core type functions from GDScript and GDNative. Added Variant::InternalMethod function for direct call access.
2020-10-09Add ability to bind an unbind arguments to Callable.reduz
2020-09-23Change Basis is_equal_approx to use instance methodAaron Franke
2020-09-07Merge pull request #38944 from Wavesonics/http-gzipFabio Alessandrelli
HttpRequest now handles gzipping response bodies
2020-09-04Fixed PackedByteArray GDScript functionsAdam Brown
p_self._data.packed_array needs to be used instead of p_self._data._mem printline
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-09-02HTTPRequest now accepts gzipAdam Brown
Added request_raw to HttpRequest Added decompress_dynamic to Compression class Added decompress_dynamic to BytePoolArray Merge doc fix revert
2020-08-05Fix Vector3i and Vector2i AXIS_* constantsVivraan
2020-07-27Make all String float conversion methods be 64-bitAaron Franke
2020-07-21Update core documentation to match recent C# changesAaron Franke
Also a few minor API changes like adding AABB.abs() Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-07-06Add sort and has methods to PackedArraysAaron Franke
2020-07-03Remove String::find_last (same as rfind)Stijn Hinlopen
2020-06-12- Added more euler rotation orders support.Andrea Catania
- Fixed floating point issue on the old one. - Fixed the equation on the get_euler_yxz function. - Added unit tests. This work has been kindly sponsored by IMVU.
2020-06-03Fix docs generation for Vector2i/Vector3i/Rect2iYuri Roubinsky
2020-05-20Docs: Fix order of variant constants.bruvzg
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-10Merge pull request #38548 from kuruk-mm/add_string_join_to_gdscriptRémi Verschelde
GDScript: Add join method on String
2020-05-10Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde
Part of #33027.
2020-05-09GDScript: Add join method on StringMateo Kuruk Miccino
Docs: Add join on String.xml
2020-05-07Merge pull request #36379 from aaronfranke/color-constructorsRémi Verschelde
Add a Color constructor for Color with alpha
2020-05-07Fix: can't convert Transform -> Transform2DThakee Nathees
Fix: #38528
2020-04-29Color with alpha constructorAaron Franke
2020-04-29[Core] Rename linear_interpolate to lerpAaron Franke
2020-04-28Print errors when passing an invalid type to xformAaron Franke
2020-04-02Replace NULL with nullptrlupoDharkael
2020-04-01Make dict erase node sequenced godotengine#37477Zak Grumbles
* Updated macro call to make the visual Dictionary Erase node sequenced.
2020-03-16Merge pull request #36896 from kuruk-mm/doc_return_variant_2Rémi Verschelde
Doctool and core: Fix return type in docs for some Variant methods...
2020-03-09Doctool and core: Fix return type in docs for some Variant methods assigning ↵Mateo Miccino
PROPERTY_USAGE_NIL_IS_VARIANT to MethodInfo usage when we have something to return
2020-03-08Refactor ScriptDebugger.Fabio Alessandrelli
EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.
2020-03-04Turn Rect2's 'intersects_touch()' into an extra argument of 'intersects()'Michael Alexsander
2020-02-25Update docs and bindings for new integer vector typesRémi Verschelde
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-23Store arrays inside of Variant as shared.Juan Linietsky
Arrays inside of Variant are unique and use reference counting. When you assign a variant containing a packed array to another, or when you call non const functions to arrays, this will work even if the array is inside a dictionary, so they will from now pass as reference. The difference with regular variant arrays is that, once passed to a function in the C++ API, they are no longer shared. This is required for security and thread safety, as those arrays are mainly used to pass data back and forth even between threads.
2020-02-22Add support for Vector2i, Rect2i and Vector3i to VariantJuan Linietsky
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous operator problems in Variant. This was added for this commit (and future C++17 uses) in #36457.
2020-02-21Added StringName as a variant type.Juan Linietsky
Also changed all relevant properties defined manually to StringName.
2020-02-20Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky
objects and made them default.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-15Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr.Juan Linietsky
2020-02-12Remove deprecated Color::grayHanif Bin Ariffin
It was marked to be removed in Godot 3.1. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-15Document that translated does not behave like rotated or scaledAaron Franke
2019-12-11Merge pull request #27792 from Giacom/fix_quatRémi Verschelde
Fixes being unable to use the Quat(Vector3) constructor
2019-11-07Merge pull request #32477 from aaronfranke/equal-approx-separateRémi Verschelde
Make is_equal_approx separate and make == exact again