summaryrefslogtreecommitdiff
path: root/modules/gdnative/godot/gdnative.h
AgeCommit message (Collapse)Author
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-27Use HTTPS URL for Godot's website in the headersRĂ©mi Verschelde
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-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] 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.