summaryrefslogtreecommitdiffstats
path: root/modules/gdnative/gdnative.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in "platform", ↵Robin Hübner2019-08-091-2/+1
| | | | "modules/gdnative", "modules/gdscript" directories.
* Fix various memory leaks and errorsBojidar Marinov2019-07-021-11/+7
|
* Fix typos with codespellRémi Verschelde2019-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using codespell 1.15.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear doubleclick leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Fix GDNative library resource loading.Fabio Alessandrelli2019-05-121-1/+1
| | | | | | | Store general properties in ConfigFile too when modifying them. Additionally set config_file property as internal as it's not editable from inspector. It also does not appear to get saved in a meaningful way (saved as Object(ConfigFile, ...))
* [GDNative] fix crash at shutdown when using singleton libraries and NativeScriptkarroffel2019-03-091-0/+1
| | | | | | | | | | When a singleton library was exposing NativeScript functionality, the NativeScriptLanguage would attempt to terminate the library at shutdown. Since the GDNative module itself handles singleton libraries, it closes all singleton libraries at shutdown as well. This double free could cause a crash, since the library referenced would no longer be alive.
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* -Moved EditorDefaultValue to ClassDB, made it coreJuan Linietsky2018-11-081-6/+6
| | | | -Removed one and zero hints for properties, replaced by default value
* GDNative: Fixes a problem that active_library_path is wrong after exporting ↵Naoto Kondo2018-10-281-0/+7
| | | | app for mac
* Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde2018-09-131-1/+1
|\ | | | | Misc. typos
| * Misc. typosluz.paz2018-09-121-1/+1
| | | | | | Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
* | Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-5/+5
|/ | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam2018-07-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
* Fix Variant leak in call_nativePedro J. Estébanez2018-05-081-1/+3
|
* [GDNative] enable saving GDNativeLibrary as sub resourcekarroffel2018-04-041-3/+92
|
* [GDNative] easier GDNativeLib handlingkarroffel2018-04-041-67/+75
|
* [GDNative] cache API hasheskarroffel2018-01-131-3/+13
|
* Removed PBM bitmap loader, added abiliy to importi mages as bitmap. Fixes #14828Juan Linietsky2018-01-061-2/+0
|
* [GDNative] added reload propertykarroffel2018-01-061-5/+18
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Merge pull request #15246 from vnen/uwp-gdnativeGeorge Marques2018-01-011-0/+3
|\ | | | | Make GDNative DLLs work on UWP
| * Make GDNative DLLs work on UWPGeorge Marques2018-01-011-0/+3
| |
* | Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
|/ | | | Happy new year to the wonderful Godot community!
* Style: Apply clang-format again on all filesRémi Verschelde2017-12-071-1/+1
| | | | | Fixes issues introduced by newer clang-format versions or commits pushed directly without using the clang-format pre-commit hook.
* Changed the dynamic library open function to allow setting the path of the ↵Juan Linietsky2017-11-301-1/+1
| | | | library to open extra libraries.
* Proper GDNative export on AndroidRuslan Mustakov2017-11-211-0/+6
|
* Allow configuring iOS exportRuslan Mustakov2017-11-211-4/+4
| | | | | | | | | | | | | | | | | - 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).
* [GDNative] removed static linking fieldsKarroffel2017-11-201-37/+3
|
* [GDNative] loading error and version error procsKarroffel2017-11-201-0/+5
|
* Merge pull request #12586 from karroffel/gdnative-gdnlibrary-changesThomas Herzog2017-11-141-141/+234
|\ | | | | [GDNative] use feature tags, added load once option
| * [GDNative] removed anchorsKarroffel2017-11-031-13/+1
| |
| * [GDNative] use feature tags, added load once optionKarroffel2017-11-031-133/+238
| |
* | [GDNative] better API struct versioningKarroffel2017-11-101-1/+1
|/
* [GDNative] removed native_raw_callKarroffel2017-10-141-38/+27
|
* [GDnative] replace gdnative_api_struct.h by a json-based autogenerated systemEmmanuel Leblond2017-10-031-9/+2
|
* [GDnative] Add active_library_path to init options structEmmanuel Leblond2017-10-021-0/+1
|
* [GDnative] Add binding to GDNativeLibrary::get_active_library_pathEmmanuel Leblond2017-10-021-0/+1
|
* Enhance iOS exportRuslan Mustakov2017-09-261-1/+4
| | | | | | | | | | - 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.
* Fix MSVC compilation errorsKonstantin Zaitsev2017-09-191-2/+2
|
* [GDnative] Use X macro to define godot_gdnative_api_struct and it instantiationEmmanuel Leblond2017-09-171-664/+8
|
* [GDnative] create godot_gdnative_api_struct and pass it to ↵Emmanuel Leblond2017-09-171-1/+668
| | | | godot_gdnative_init_options
* [GDNative] added singleton GDNativeLibrariesKarroffel2017-09-031-1/+5
| | | | | | | 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.
* Make GDNative work on AndroidRuslan Mustakov2017-08-301-10/+26
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Removed unnecessary assignmentsWilson E. Alvarez2017-08-211-2/+1
|
* Removes editor_hint from SceneTreeIgnacio Etcheverry2017-08-191-2/+2
|
* Removes type information from method bindsIgnacio Etcheverry2017-08-101-3/+3
|
* Dont call nativescript callbacks if lib is not initializedRuslan Mustakov2017-08-041-2/+8
|
* Pass GDNativeLibrary pointer to library initRuslan Mustakov2017-07-281-0/+3
|
* [GDNative] basic OS detectionKarroffel2017-07-241-2/+11
|
* [GDNative] new GDNative APIKarroffel2017-07-241-1192/+170
| | | | | | | | | | | 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.