Commit graph

40 commits

Author SHA1 Message Date
Hein-Pieter van Braam
f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Emmanuel Leblond
6151adfe8c
Correct GDnative's godot_string_find_last method name 2017-08-31 23:24:26 +02:00
Rémi Verschelde
6f762ad709 Merge pull request #10422 from endragor/gdnative-android
Make GDNative work on Android
2017-08-31 13:51:10 +02:00
Ruslan Mustakov
5ccdeccb6e Make GDNative work on Android
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-30 18:14:19 +07:00
Hein-Pieter van Braam
ec63438231 Remove 10778 related methods from GDNative
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-30 12:54:59 +02:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Hein-Pieter van Braam
cacced7e50 Convert Object::cast_to() to the static version
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 23:08:24 +02:00
Emmanuel Leblond
00d552b1cd
[GDnative] Correct godot_string_chars_to_utf8_with_len function name 2017-08-19 17:08:33 +02:00
Rémi Verschelde
b1ecaaa22b Merge pull request #10307 from Rubonnek/update-argument-names
Updated function argument names
2017-08-16 17:17:56 +02:00
Pedro J. Estébanez
2a26c5ce62 Comment include order to avoid errors
So as to not revive #10071, as suggested by @akien-mga.
2017-08-15 22:12:57 +02:00
Wilson E. Alvarez
428f03cf06 Updated function argument names 2017-08-12 15:12:49 -04:00
ducdetronquito
0b55363a82 Implemented String C API. 2017-08-08 23:42:54 +02:00
Karroffel
76ce18c290 [GDNative] fixed double variant call
This bug got discovered thanks to clang!
2017-08-06 02:04:06 +02:00
Juan Linietsky
cfe4b30941 renamed node path, closes #5691 2017-08-05 09:13:59 -03:00
Karroffel
ab3b1e67c7 [GDNative] fixed a bug with ambiguous include paths
fixes #10071. The problem is that the json.h file includes the
local variant.h instead of the "absolute" core/variant.h
2017-08-04 03:26:32 +02:00
Karroffel
880048377d [GDNative] better header include paths
The old include paths caused some problems on some compilers, for
example including "string.h" was ambiguous.
2017-08-02 03:50:33 +02:00
Ruslan Mustakov
3193460c4a Pass GDNativeLibrary pointer to library init 2017-07-28 22:43:23 +07:00
Ruslan Mustakov
3b88476130 Add a way to retrieve stack bottom of the main thread
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-25 10:53:31 +07:00
Karroffel
534d62d2f4 [GDNative] new GDNative API
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-24 04:23:37 +02:00
sheepandshepherd
914a68723f Expose Dictionary::next to GDNative 2017-07-15 23:02:19 +02:00
TwistedTwigleg
44ecfb028d Fixed syntax inconsistency in Vector3.snap and Vector3.snapped 2017-07-03 16:29:03 -04:00
alexholly
935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Emmanuel Leblond
8ecdbfc417
[GDnative] API consistency + missing properties 2017-06-08 07:21:53 +02:00
alexholly
a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
sheepandshepherd
4844013827 Fix GDNative PoolVector typos 2017-05-31 23:44:20 +02:00
sheepandshepherd
9f34bb4ebe Wrap copy constructor for some GDNative types 2017-05-31 00:03:50 +02:00
Karroffel
f23b56e3ec [GDNative] fixed some functions that returned references
Those errors were introduced with #8821 (6fd217d). These functions need to return reference types, otherwise setting values on those containers does not work.
2017-05-23 22:57:02 +02:00
Emmanuel Leblond
abcb044bf3
Finish implementation of GDnative builtins bindings 2017-05-19 23:28:15 +02:00
Rémi Verschelde
c3baf5eb3c Fix two typos from previous commit
Also cleanup comments on variant types.
2017-05-17 18:45:56 +02:00
Karroffel
d137e83c60 [GDNative] added varcall and print 2017-05-11 23:06:11 +02:00
Thomas Herzog
68d79b21c3 Merge pull request #8440 from karroffel/gdnative-new-method
[GDNative] added "new" method and fixed headers
2017-04-17 20:41:32 +02:00
Thomas Herzog
a88c20f0ca Merge pull request #8439 from touilleMan/correct_gdnative_signatures
Correct gdnative signatures
2017-04-17 19:55:42 +02:00
Karroffel
f4261c8868 [GDNative] added "new" method and fixed headers 2017-04-17 19:52:18 +02:00
Emmanuel Leblond
e7134ce283
gdnative: Implement missing function for godot_basis. 2017-04-17 19:05:00 +02:00
Emmanuel Leblond
707eedfa85
gdnative: modify vector2&vector3 functions signature to use value passing instead of ptr. 2017-04-17 16:43:43 +02:00
Emmanuel Leblond
8400de76a7
Add godot_string_unicode_str to GDnative 2017-04-17 15:48:26 +02:00
Emmanuel Leblond
7013cd984b
Correct indentation in gdnative vector2/3 2017-04-15 01:06:42 +02:00
Emmanuel Leblond
e5f7f656d6
Implement missing functions in gdnative vector2 and vector3 bindings 2017-04-15 00:29:43 +02:00
Karroffel
be2ad4f155 [GDNative] made string functions more C-friendly 2017-04-11 14:58:59 +02:00
Karroffel
c7f8b22ba0 renamed dlscript module to gdnative 2017-04-09 21:07:53 +02:00