summaryrefslogtreecommitdiff
path: root/modules/gdnative
AgeCommit message (Collapse)Author
2017-09-21Fixed a bunch of typos, including an error code.Ross Hadden
2017-09-19Allow booleanization of all typesHein-Pieter van Braam
We now allow booleanization of all types. This means that empty versions of all types now evaluate to false. So a Vector2(0,0), Dictionary(), etc. This allows you to write GDScript like: if not Dictionary(): print("Empty dict") Booleanization can now also no longer fail. There is no more valid flag, this changes Variant and GDNative API.
2017-09-19Change structure order for godot nim compatibilityKonstantin Zaitsev
2017-09-19Fix MSVC compilation errorsKonstantin Zaitsev
2017-09-17Merge pull request #11296 from touilleMan/gdnative-api-structThomas Herzog
[GDnative] pass api as struct of function pointers to loaded gdnative modules
2017-09-17[GDnative] Use X macro to define godot_gdnative_api_struct and it instantiationEmmanuel Leblond
2017-09-17[GDnative] create godot_gdnative_api_struct and pass it to ↵Emmanuel Leblond
godot_gdnative_init_options
2017-09-16Apply clang-format again to recent changesRémi Verschelde
Also add missing copyright headers. [ci skip]
2017-09-15Fix compile error on gd_native_library_editor.cpp with tools=noMarcelo Fernandez
2017-09-14Merge pull request #11237 from endragor/gdnative-variant-refThomas Herzog
Construct Variants from Reference properly in GDNative
2017-09-14Added a menu to enable/disabled GDNative singletons in project settingsJuan Linietsky
2017-09-14Construct Variants from Reference properly in GDNativeRuslan Mustakov
Previously godot_variant_new_object constructed Variant without accounting for the fact that the Object can be a Reference, so refcount was not increased and References were destructed prematurely. Also, Reference::init_ref did not propagate refcount increment to the script instance, which led to desync of refcount info on the script side and Godot side.
2017-09-12Merge pull request #11028 from mrawlingst/color-RGBA32Rémi Verschelde
Change Color.to_32() to Color.to_rgba32() and lowercase other functions
2017-09-10Fixed attempt to delete NULL pointer errorbncastle
Fixed: Error cause by attemptng to delete a NULL pointer. unregister_gdnative_types() now checks discoverer to see if it is NULL before deleting. After selecting a godot project to edit (in Win10), the discoverer_callback() wasn't called thus discoverer was NULL.
2017-09-07Change Color.to_32() to to_rgba32() and format as RGBAmrawlingst
2017-09-05Provide NativeScript properties in definition orderRuslan Mustakov
2017-09-03[GDNative] added singleton GDNativeLibrariesKarroffel
A GDNativeLibrary now has a field "gdnative_singleton" which can be used to let the `godot_gdnative_singleton` procedure be executed on Godot's startup. In future this can be used to register new scripting languages or resource importer types.
2017-09-03merged gdnative and nativescript moduleKarroffel
2017-09-01Fix signed and unsigned comparisonsHein-Pieter van Braam
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-08-31Correct GDnative's godot_string_find_last method nameEmmanuel Leblond
2017-08-31Merge pull request #10422 from endragor/gdnative-androidRémi Verschelde
Make GDNative work on Android
2017-08-30Make GDNative work on AndroidRuslan Mustakov
The changes include work done to ensure that GDNative apps and Nim integration specifically can run on Android. The changes have been tested on our WIP game, which uses godot-nim and depends on several third-party .so libs, and Platformer demo to ensure nothing got broken. - .so libraries are exported to lib/ folder in .apk, instead of assets/, because that's where Android expects them to be and it resolves the library name into "lib/<ABI>/<name>", where <ABI> is the ABI matching the current device. So we establish the convention that Android .so files in the project must be located in the folder corresponding to the ABI they were compiled for. - Godot callbacks (event handlers) are now called from the same thread from which Main::iteration is called. It is also what Godot now considers to be the main thread, because Main::setup is also called from there. This makes threading on Android more consistent with other platforms, making the code that depends on Thread::get_main_id more portable (GDNative has such code). - Sizes of GDNative API types have been fixed to work on 32-bit platforms.
2017-08-30Remove 10778 related methods from GDNativeHein-Pieter van Braam
After #10778 master didn't build any longer with GDNative. This removes the methods removed in that PR from the GDNative bindings for Basis also.
2017-08-30Fix GDNative API generator after changes to MethodBindRuslan Mustakov
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24-Code completion for enumerationsJuan Linietsky
-Disabled GDNative and GDNativeScript so build compiles again
2017-08-21Removed unnecessary assignmentsWilson E. Alvarez
2017-08-20Merge pull request #10319 from neikeq/pr-engine-editor-hintJuan Linietsky
Adds Engine::is_editor_hint() method
2017-08-19[GDnative] Correct godot_string_chars_to_utf8_with_len function nameEmmanuel Leblond
2017-08-19Removes editor_hint from SceneTreeIgnacio Etcheverry
2017-08-16Merge pull request #10307 from Rubonnek/update-argument-namesRémi Verschelde
Updated function argument names
2017-08-15Comment include order to avoid errorsPedro J. Estébanez
So as to not revive #10071, as suggested by @akien-mga.
2017-08-12Updated function argument namesWilson E. Alvarez
2017-08-10Removes type information from method bindsIgnacio Etcheverry
2017-08-08Implemented String C API.ducdetronquito
2017-08-06[GDNative] fixed double variant callKarroffel
This bug got discovered thanks to clang!
2017-08-05renamed node path, closes #5691Juan Linietsky
2017-08-04Dont call nativescript callbacks if lib is not initializedRuslan Mustakov
2017-08-04[GDNative] fixed a bug with ambiguous include pathsKarroffel
fixes #10071. The problem is that the json.h file includes the local variant.h instead of the "absolute" core/variant.h
2017-08-02[GDNative/NativeScript] fix -rdynamic and removed _init callKarroffel
The _init call was buggy anyway and in the end shouldn't be a thing that's called via ClassDB, it should be something that's language specific, so we leave this out for the bindings. In the commit 66a7763 the SCsub file for GDNative was changed to use a cloned environment, that bricked -rdynamic which needs to be passed down to the linker, which didn't happen with the new env.
2017-08-02[GDNative] better header include pathsKarroffel
The old include paths caused some problems on some compilers, for example including "string.h" was ambiguous.
2017-07-28Pass GDNativeLibrary pointer to library initRuslan Mustakov
2017-07-27added an optional parameter to OS symbol lookupKarroffel
When looking up a symbol from a library, previously an error was shown when the symbol did not exist. That caused confusion when the lookup was completely optional. This adds a new parameter to that method so that those errors can be handled manually if needed.
2017-07-26Merge pull request #9720 from endragor/stack-bottomThomas Herzog
Add a way to retrieve stack bottom of the main thread
2017-07-25Add a way to retrieve stack bottom of the main threadRuslan Mustakov
I'm working on Nim bindings and Nim GC needs to know the stack boundaries to check whether certain pointers are located on the stack or in the heap. This commit adds godot_get_stack_bottom procedure to gdnative module which returns pointer to the stack bottom of the main thread. Later on this may be improved to return stack bottom of the current thread.
2017-07-24[GDNative] basic OS detectionKarroffel
2017-07-24[GDNative] new GDNative APIKarroffel
This adds GDNative as a separate class type. It can be used to interface with native libraries by using "native calls", which can be registered by modules (and in future other GDNative libraries?). It also reworks the currently called "GDNativeScript" into a "NativeScript" that just makes use of the new GDNative instead of it being the component that implements that functionality.
2017-07-22gdnative bug fix in get (return null check)Ramesh Ravone
2017-07-19-Renamed GlobalConfig to ProjectSettings, makes more sense.Juan Linietsky
-Added system for feature overrides, it's pretty cool :)