Commit Graph

39 Commits

Author SHA1 Message Date
8f0f327f02 Allow configuring iOS export
- EditorExportPlugin's _export_begin accepts all the arguments related
   to the current export (is_debug, path, flags).

 - EditorExportPlugin API is extended with methods allowing to configure
   iOS export: add_ios_framework, add_ios_plist_content,
   add_ios_linker_flags, add_ios_bundle_file.

 - iOS export template now contains Godot as a static library so that
   it can be linked with third-party Frameworks and GDNative static
   libraries.

 - Adds method to DirAccess for recursive copying of a directory.

 - Fixes iOS export to work with Xcode 9 (released recently).
2017-11-21 01:16:49 +07:00
7388a1e115 [GDNative] removed static linking fields 2017-11-20 14:28:52 +01:00
0865365e21 [GDNative] loading error and version error procs 2017-11-20 11:09:55 +01:00
bd2b1a62d9 Merge pull request #12586 from karroffel/gdnative-gdnlibrary-changes
[GDNative] use feature tags, added load once option
2017-11-14 15:34:07 +01:00
7ae2de8997 [GDNative] better API struct versioning 2017-11-10 12:08:09 +01:00
d82942e1c5 [GDNative] removed anchors 2017-11-03 15:17:50 +01:00
ffc2669298 [GDNative] use feature tags, added load once option 2017-11-03 15:17:44 +01:00
e568f80e6e [GDNative] removed native_raw_call 2017-10-14 15:50:55 +02:00
cdc29926af [GDnative] replace gdnative_api_struct.h by a json-based autogenerated system 2017-10-03 09:48:52 +02:00
c55b8217ab [GDnative] Add active_library_path to init options struct 2017-10-02 13:45:47 +02:00
c11c951871 [GDnative] Add binding to GDNativeLibrary::get_active_library_path 2017-10-02 13:25:53 +02:00
f5b3b24c22 Enhance iOS export
- The export process now builds complete .ipa on macOS, instead of just
   creating XCode project.

 - The project includes Capabilities games usually require: Game Center,
   Push Notifications, In-App Purchase.

 - Icons and launch screens can be specified in export preset.
2017-09-26 00:18:08 +07:00
c386a02654 Fix MSVC compilation errors 2017-09-19 10:33:07 +07:00
8d57a3f3d5 [GDnative] Use X macro to define godot_gdnative_api_struct and it instantiation 2017-09-17 18:33:08 +02:00
e4c9f8895e [GDnative] create godot_gdnative_api_struct and pass it to godot_gdnative_init_options 2017-09-17 16:13:14 +02:00
54a9c1ee43 [GDNative] added singleton GDNativeLibraries
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-03 16:56:00 +02:00
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
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
90b8a5b71e Removes editor_hint from SceneTree 2017-08-19 01:29:45 +02:00
2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
d71171026f Dont call nativescript callbacks if lib is not initialized 2017-08-04 21:17:33 +07:00
3193460c4a Pass GDNativeLibrary pointer to library init 2017-07-28 22:43:23 +07:00
5e1abaf348 [GDNative] basic OS detection 2017-07-24 22:43:32 +02:00
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
af8a40e554 gdnative bug fix in get (return null check) 2017-07-22 06:39:03 +05:30
25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
45b498c4e0 Merge pull request #9699 from RameshRavone/master
[gdnative] `Object::_get` return type and dynamic property
2017-07-19 13:07:06 +02:00
535290d2e7 [GDNative] dynamic properties 2017-07-19 05:41:56 +05:30
49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
3ce046ee0c -Fixed SCREEN_TEXTURE and other related 2D shader parameters.
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -03:00
f0cf946063 [GDNative] corrected typo for Mac library ext.
Seems like the extension is .dylib and not .dynlib.
This should make it easier to select files from the editor.
2017-06-16 15:48:05 +02:00
11e496d99a [GDNative] fixed a reload bug
When there was no terminate function defined in the library the exported variables would not update.
This fixes that.
2017-05-13 14:37:57 +02:00
32afcbc482 Put brave old bb10 platform to a well-deserved rest
Add some 🔥 to appease @reduz. Fixes #8692.
2017-05-08 22:22:20 +02:00
d4f4f14c68 [GDNative] explicit calling convention 2017-04-19 15:51:33 +02:00
f4261c8868 [GDNative] added "new" method and fixed headers 2017-04-17 19:52:18 +02:00
7919ec6d89 [GDNative] re-enabled some init options 2017-04-11 01:45:58 +02:00
0486645c39 [GDNative] Didn't iterate over all scripts 2017-04-10 04:30:08 +02:00
c7f8b22ba0 renamed dlscript module to gdnative 2017-04-09 21:07:53 +02:00