Commit Graph

352 Commits

Author SHA1 Message Date
Thomas Herzog 95d9302248
Merge pull request #20370 from marcelofg55/gdnative_crash
Fix possible crash at NativeScript::get_base_script
2018-07-25 17:09:51 +02:00
Marcelo Fernandez 77f3c0b495 Fix possible crash at NativeScript::get_base_script 2018-07-25 10:58:15 -03:00
Wilson E. Alvarez a22e746bc3 Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
George Marques 03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
Marcelo Fernandez deebeb2742 Add a new notification to detect crashes on native scripts 2018-07-02 16:18:58 -03:00
Thomas Herzog 22dac831bc
Merge pull request #19757 from Faless/gdnet_pr
Network bindings for GDNative
2018-06-29 19:32:22 +02:00
Fabio Alessandrelli 15451479e5 Add [Packet/Stream/Multiplayer]PeerGDNative
They provide an interface to implement PacketPeer, StreamPeer, and
NetworkedMultiplayerPeer via GDNative.
2018-06-27 19:07:30 +02:00
Rhody Lugo 920224a535 add NoCache wrapper to Command 2018-06-21 03:00:33 -04:00
Bastiaan Olij 1697cbb4bb Add access for GDNative modules to some platform dependent internals on Android 2018-06-19 17:49:23 +10:00
Emmanuel Leblond 380b85a32f
[Pluginscript] Fix not working exports in editor 2018-06-15 23:11:20 +02:00
Rémi Verschelde 3334209a73 SCons: Pass env to modules can_build method
This allows to disable modules based on the environment,
in particular `env[tools]` which tells us if we are
building the editor or not.
2018-05-30 19:11:36 +02:00
Rémi Verschelde fc7f931d26
Merge pull request #19255 from Faless/rpc_sync_mmore
RPCMode refactor, more sync modes (2)
2018-05-30 14:59:08 +02:00
Fabio Alessandrelli 8e35d937a9 New sync keywords in GDScript, NativeScript, Mono 2018-05-29 20:26:41 +02:00
Fabio Alessandrelli 1400f6fdc4 Refactor RPCMode enum and checks 2018-05-29 20:26:41 +02:00
Max Hilbrunner 4c69a495c9
Revert "RPCMode refactor, more sync modes" 2018-05-29 11:47:52 +02:00
Bastiaan Olij 8901b3cf00 [WIP] Adding version info to GDNative ARVR interfaces 2018-05-27 20:31:41 +10:00
Fabio Alessandrelli a5e8a3be5e New sync keywords in GDScript, NativeScript, Mono 2018-05-26 10:49:33 +02:00
Fabio Alessandrelli 9de4ffde61 Refactor RPCMode enum and checks 2018-05-26 10:43:43 +02:00
karroffel 70866bbafd changed GDNative API json format 2018-05-10 22:03:06 +02:00
Pedro J. Estébanez 474eda9e30 Fix Variant leak in call_native 2018-05-08 21:27:33 +02:00
Hein-Pieter van Braam cee5117d3b Fix lto builds on clang compilers
The --no-lto option only works on GCC compilers. This breaks LTO builds
on MacOS and iPhone when building the gdnative wrappers.

-fno-lto works on both brands of compilers.
2018-04-30 12:59:08 +02:00
Rémi Verschelde df79cc86a5
Merge pull request #18119 from sheepandshepherd/nativescript_property_list
Fix NativeScript property list order
2018-04-19 21:37:46 +02:00
Pedro J. Estébanez 00e98458ba Revert "Unify http- and percent- encode/decode"
This reverts commit b76ee30917.
2018-04-12 21:12:34 +02:00
sheepandshepherd bc110b3771 Fix NativeScript property list 2018-04-11 09:43:07 +02:00
Rémi Verschelde cb7fe2c793 doc: Sync classref with current source 2018-04-10 10:12:42 +02:00
Juan Linietsky cd7e9d9642
Merge pull request #17583 from RandomShaper/enhance-uri-utils
Enhance uri utils
2018-04-07 17:07:29 -03:00
Emmanuel Leblond adecd6f66f
Correct profiling_frame naming in pluginscript 2018-04-07 00:11:26 +02:00
Emmanuel Leblond e97336a557
Fix Pluginscript add_global_constant mandatory value check 2018-04-06 19:20:12 +02:00
karroffel 2e1f239fe6 [NativeScript] replace error macros by simple returns 2018-04-06 01:40:26 +02:00
Thomas Herzog eaa5dfbdbd
Merge pull request #17980 from karroffel/nativescript-1.1-global-type-tags
[NativeScript] added global type tag system
2018-04-05 15:09:35 +02:00
karroffel ad93d3e277 [NativeScript] added global type tag system 2018-04-05 00:06:33 +02:00
karroffel f29139f3cf [GDNative] enable saving GDNativeLibrary as sub resource 2018-04-04 13:07:43 +02:00
karroffel 57c0339d9f [GDNative] easier GDNativeLib handling 2018-04-04 12:24:10 +02:00
karroffel 0b92aded23 [GDNative] fixed issue with library unloading order 2018-03-31 01:45:18 +02:00
karroffel ce36ecda4c [GDNative] added GDCALLINGCONV to instance binding functions 2018-03-31 01:44:50 +02:00
Pedro J. Estébanez b76ee30917 Unify http- and percent- encode/decode
There was a percent-prefixed version, which was exposed, and a http-prefixed version which was not (only to GDNative).
This commit keeps the percent-prefixed versions, but with the http-prefixed implementations.
2018-03-27 19:18:30 +02:00
Rémi Verschelde 08cadc3d87 NativeScript: Fix initialization in wrong scope
Regression from d702d7b335 which broke javascript build.
2018-03-02 02:07:37 +01:00
Hein-Pieter van Braam d702d7b335 Fix various valgrind reported uninitialized variable uses 2018-02-28 21:55:13 +01:00
Rémi Verschelde 3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
luz.paz 612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Rémi Verschelde 3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
tilpner a75a7e594e
gdnative_api.json: Change argument name to r_dest
This reflects its usage as an output argument,
consistent with the other godot_variant_new functions
2018-02-11 17:19:17 +01:00
Thomas Herzog 31dd21a8d9
Merge pull request #16539 from eska014/gdnative-macwarn
Fix GDNATIVE_API_INIT() warning about sign mismatch
2018-02-10 17:36:57 +01:00
Leon Krause 8e39cdd5d5 Fix GDNATIVE_API_INIT() warning about sign mismatch 2018-02-10 17:19:16 +01:00
karroffel 0b2afa24b8 add initial NativeScript 1.1 extension
This commit adds new functionality to NativeScript, namely:

 - ability to set and get documentation for classes, methods,
   signals and properties

 - ability to set names and type information to method arguments

 - ability to set and get type tags for nativescripts

 - ability to register instance binding data management functions

 - ability to use instance binding data
2018-02-09 15:04:41 +01:00
karroffel 2fb66df669 generate proper API structs for GDNative extension extensions
The GDNative C API gets passed to libraries in a struct of function
pointers. To provide stable binary compatibility, each extension not
part of the core API is separated into its own sub-struct.

These structs aren't meant to be changed in order to keep binary
compatibility.

In case of an API extension, the structs include a `next` pointer
which can point to a new struct with additional function pointers.

Godot's build system generates the API structs automatically at
build time, but so far there has no support for the mentioned `next`
pointers.

This commit changes the API struct generation in such a way that code
that used previous headers will compile without problem with the new
headers.

The new extension-extensions (weird name, but that's what it is) get
generated recursively and include the version in the struct-name.
2018-02-09 11:44:54 +01:00
Paolo Perkovic 08d4bfacaf Fix inconsistencies and typos in argument names 2018-02-01 16:47:20 +01:00
Rémi Verschelde d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Rémi Verschelde 9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
karroffel 69f33a9313 [GDNative] fix NativeScript false negative error 2018-01-18 16:00:38 +01:00
karroffel 9b96f87377 [GDNative] fix #15723 2018-01-18 12:04:34 +01:00
Marc Gilleron a3937e1220 Added GDNative copy constructor for PoolVectors Read and Write 2018-01-18 02:44:37 +01:00
Rémi Verschelde 1699978e24
Merge pull request #15761 from touilleMan/pluginscript-improve-inheritance
[GDnative] Improve inheritance system in gdnative pluginscript
2018-01-17 14:53:30 +01:00
Emmanuel Leblond 0de61998e4
Improve inheritance system in gdnative pluginscript 2018-01-16 00:23:27 +01:00
karroffel d56bcc38ac [GDNative] fix two crashes with NativeScript 2018-01-14 23:39:10 +01:00
karroffel 567d20fe5f [GDNative] fix editor crash with NativeScript 2018-01-14 01:01:35 +01:00
karroffel ee8ee463c3 [GDNative] cache API hashes 2018-01-13 21:21:05 +01:00
Rémi Verschelde e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
Ruslan Mustakov a5e98c5e33 Fix GDNative procedures returning godot_char_string 2018-01-12 22:35:41 +07:00
Rémi Verschelde 9135e61512
Merge pull request #15580 from karroffel/gdnative-api-fixes
[GDNative] updates to string API and const fixes
2018-01-11 15:43:33 +01:00
karroffel 9ece961abe [GDNative] updates to string API and const fixes 2018-01-11 00:17:43 +01:00
Emmanuel Leblond 58f3ad69c7
Fix warning when editor resource preview try to read pluginscript resource 2018-01-09 23:12:39 +01:00
Emmanuel Leblond 72d50b4185
Fix crash in pluginscript complete_code 2018-01-09 21:12:24 +01:00
Rémi Verschelde 29e68aa40e doc: Sync classref with current source 2018-01-07 01:37:45 +01:00
karroffel 66eed7b859 [GDNative] fix reloading of non-reloadable libraries 2018-01-06 21:10:01 +01:00
Juan Linietsky 50b975548d Removed PBM bitmap loader, added abiliy to importi mages as bitmap. Fixes #14828 2018-01-06 16:38:36 -03:00
karroffel 34cdcf5cd0 [GDNative] added reload property 2018-01-06 12:31:30 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
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.
2018-01-05 01:22:23 +01:00
Emmanuel Leblond c1eba93cae
Disable lto for gdnative wrapper 2018-01-04 20:29:47 +01:00
George Marques c9005ca7fd
Merge pull request #15246 from vnen/uwp-gdnative
Make GDNative DLLs work on UWP
2018-01-01 22:47:22 -02:00
George Marques 2a023a425d
Make GDNative DLLs work on UWP 2018-01-01 13:59:14 -02:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
geequlim 13bd5c22c6 Add plugin to edit GDNativeLibrary
Rename GDNativeLibraryEditor to GDNativeLibrarySingletonEditor
2017-12-18 23:23:29 +08:00
Ruslan Mustakov 9d6d20e67c Remove get_stack_bottom
It's not used in godot-nim any longer and there were no other uses for
it.
2017-12-16 13:10:26 +07:00
Emmanuel Leblond 29df438f9a
Add missing godot_get_stack_bottom and godot_get_global_constants in gdnative_api.json 2017-12-15 00:37:46 +01:00
Rémi Verschelde aeae05a2f4 Fix missing parenthesis 2017-12-09 23:36:41 +01:00
Rémi Verschelde 2b91a2059b GDNative: Fix warning when gdnative/singletons is missing 2017-12-09 23:32:40 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Rémi Verschelde d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
Unknown fd1b94e307 Improve slang, especially in user-visible parts 2017-12-05 15:41:38 +01:00
Rémi Verschelde c7f9d8a059
Merge pull request #13992 from ISylvox/substract-to-subtract
Fix Typo: Substract to Subtract
2017-12-05 09:16:10 +01:00
Indah Sylvia 3996a05324 Fixed typo: substract to subtract 2017-12-05 11:34:46 +07:00
George Marques 6af42c536a
GDNative: Save singletons only if there's a change
Ensures that the Project Settings are saved only if the list of
singletons actually changed.
2017-12-05 00:25:29 -02:00
Juan Linietsky 9678231b10 Changed the dynamic library open function to allow setting the path of the library to open extra libraries. 2017-11-30 10:00:55 -03:00
Rhody Lugo a65c0939fd disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
Bastiaan Olij f00b60860c Set real world position, not virtual world position! 2017-11-28 23:28:35 +11:00
Rhody Lugo a4a222d62d use the same cache for all branches for appveyor 2017-11-28 03:23:33 -04:00
Emmanuel Leblond 6e3d78c94c
[GDNative] disable -fPIC flag with msvc compiler 2017-11-25 20:26:42 +01:00
Rémi Verschelde 92f07fefcd doc: Remove setters and getters now exposed via properties/members 2017-11-24 18:10:32 +01:00
Rémi Verschelde bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Rémi Verschelde 15ada56d73 doc: Sync classref with current source 2017-11-24 09:16:27 +01:00
Rémi Verschelde bedcbdd420
Merge pull request #13130 from endragor/gdnative-android-export
Proper GDNative export on Android
2017-11-21 23:59:01 +01:00
Rémi Verschelde 613d374bc5
Merge pull request #12284 from bojidar-bg/allow-subproperty-set
Allow for getting/setting "dotted" properties of objects
2017-11-21 22:44:14 +01:00
Emmanuel Leblond b075f13988
Fix&prettify gdnative_api_struct.gen.h GDNATIVE_API_INIT macro generation 2017-11-21 20:09:08 +01:00
Bojidar Marinov 0cf9597758
Allow for getting/setting indexed properties of objects using get/set_indexed
Performance is around the same as using pure set() through GDScript.
2017-11-21 20:58:21 +02:00
Ruslan Mustakov ebf9b80a47 Proper GDNative export on Android 2017-11-21 20:40:31 +07:00
Rémi Verschelde 1c2782a7c7
Merge pull request #12590 from poke1024/bsearch
Add bsearch and bsearch_custom to Array
2017-11-21 13:14:08 +01:00
Bastiaan Olij 1955fecb2d Revert this change, we need to export symbols on the library side 2017-11-21 21:32:05 +11:00
poke1024 d6e54de502 Add bsearch and bsearch_custom to Array 2017-11-21 08:50:31 +01:00
Ruslan Mustakov 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
Thomas Herzog 30a82e5e00
Merge pull request #13094 from karroffel/gdnative-api-register-nativecall
[GDNative] add a way to register call types
2017-11-20 15:43:36 +01:00
Karroffel 5d666319e3 [GDNative] add a way to register call types 2017-11-20 14:49:22 +01:00
Karroffel 7388a1e115 [GDNative] removed static linking fields 2017-11-20 14:28:52 +01:00
Karroffel 33ffdba553 [GDNative] removed godot_string_c_str 2017-11-20 11:10:05 +01:00
Karroffel 0865365e21 [GDNative] loading error and version error procs 2017-11-20 11:09:55 +01:00
Ferenc Arn d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Karroffel b13bfac9e3 [GDNative] fix wrapper code generation 2017-11-16 22:05:47 +01:00
Rémi Verschelde 11e07d18bd doc: Sync classref with current source 2017-11-15 21:29:34 +01:00
Rémi Verschelde 677e95d8d1 doc: Make all module docs self-contained 2017-11-15 21:29:33 +01:00
Rémi Verschelde 967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
Juan Linietsky 9543801d51
Merge pull request #12949 from karroffel/gdnative-export
[GDNative] export plugin
2017-11-15 14:05:21 -03:00
Karroffel f1099c7221 [GDNative] export plugin 2017-11-15 17:24:32 +01:00
Rémi Verschelde 61a693cf78
Merge pull request #12922 from eska014/engine-singletons
Singleton management changes
2017-11-14 20:44:55 +01:00
Thomas Herzog 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
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Evrey af6f096427 fix auto-generated GDN API header for C compilers (#12891)
* fix auto-generated GDN API header for C compilers
2017-11-13 23:35:03 +01:00
BastiaanOlij 9d3f8418ca Removed add/remove interface bindings and added get_interfaces 2017-11-13 22:08:43 +11:00
Karroffel 6d6208c63d [GDNative] renamed nativearvr to arvr in api.json 2017-11-10 13:08:19 +01:00
Karroffel 79285b084d [GDNative] rename nativearvr extension to arvr 2017-11-10 12:36:50 +01:00
Karroffel 7ae2de8997 [GDNative] better API struct versioning 2017-11-10 12:08:09 +01:00
Karroffel 983404e0ce [GDNative] refactored API struct into core and extensions 2017-11-09 18:39:28 +01:00
Karroffel a2e09a5d41 [GDNative] even more API fixes 2017-11-07 18:17:11 +01:00
Thomas Herzog 3cbcf5c2dd
Merge pull request #12612 from karroffel/gdnative-poolarray-accessors
[GDNative] added Read and Write accessors to pool arrays
2017-11-04 14:22:25 +01:00
Bastiaan Olij 25c38c7542
Merge pull request #12557 from BastiaanOlij/arvr_add_rumble_support
Adding rumble support to ARVR controllers
2017-11-04 08:57:25 +11:00
Karroffel af5c6be074 [GDNative] added Read and Write accessors to pool arrays 2017-11-03 18:17:58 +01:00
Karroffel 8b11e17f70 [GDNative] small API bug fixes 2017-11-03 16:05:21 +01:00
Karroffel d82942e1c5 [GDNative] removed anchors 2017-11-03 15:17:50 +01:00
Karroffel ffc2669298 [GDNative] use feature tags, added load once option 2017-11-03 15:17:44 +01:00
Bastiaan Olij 167b7b5533 Adding rumble support to ARVR controllers (if implemented on the ARVR interface) 2017-11-01 23:59:14 +11:00
Jerome67000 2609cc9ef4 Removes Script::get_node_type()
used before GDScript, with squirrel apparently
2017-10-25 20:11:30 +02:00
Ignacio Etcheverry e218a13a64 Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialog
- Make ScriptCreateDialog disable the built-in script checked button if the language does not support it.
- ScriptLanguage's get_template and make_template now receive the script path as class name if the the script language does not have named classes.
2017-10-24 15:48:58 +02:00
Rémi Verschelde 6361e24f29 Cleanup unnecessary debug prints 2017-10-21 20:41:07 +02:00
Rémi Verschelde 8652c1d5b1 classref: Sync with current source 2017-10-21 12:04:36 +02:00
Emmanuel Leblond aedc44f6fe
[GDnative] remove useless (and illegal !) STL include 2017-10-20 22:05:25 +02:00
scorched 3ba5ee42c3 Fix compilation on Visual Studio 2013 (#10219). 2017-10-20 12:55:22 +02:00
Thomas Herzog 8c50bc369e Merge pull request #11953 from touilleMan/pluginscript
[GDnative] add pluginscript \o/
2017-10-17 13:08:41 +02:00
Emmanuel Leblond e715be0f0a
[GDnative] add pluginscript \o/ 2017-10-17 10:50:13 +02:00
Emmanuel Leblond 9c1f6c5db6
[Nativescript] fix crash when loading a library with missing godot_nativescript_init 2017-10-16 08:16:37 +02:00
BastiaanOlij c6ce73c680 Couple of small changes so our ARVRInterfaceGDNative gets constructed and registered automatically when a module loads 2017-10-15 12:56:36 +11:00
Karroffel 86de8060a4 remove error message for optional NativeScript symbols 2017-10-15 03:42:52 +02:00
Karroffel e0019453a2 update ARVRInterfaceGDNative to use API struct 2017-10-14 18:18:02 +02:00
Karroffel e568f80e6e [GDNative] removed native_raw_call 2017-10-14 15:50:55 +02:00
BastiaanOlij cc37d43f86 Redoing the ARVR GDNative interface as module and tighter implementation 2017-10-14 09:10:18 +11:00
Karroffel 916ee427ff removed GDNativeClass doc from GDNative module 2017-10-13 15:02:54 +02:00
BastiaanOlij 41e70d4192 Move GDNative docs into gdnative folder 2017-10-13 21:54:57 +11:00
Thomas Herzog ea37f44ec8 Merge pull request #11950 from sheepandshepherd/gdnative_property_index
Include property index in GDNative class API
2017-10-09 13:55:36 +02:00
Emmanuel Leblond 6363bcf209
[GDnative] fix crash at cleanup time when singleton_gdnatives is not empty 2017-10-09 00:31:25 +02:00
sheepandshepherd 6f3fffecb3 Include property index in GDNative class API
Needed by properties that share set/get functions. Fixes #10329.
2017-10-08 23:57:06 +02:00
Emmanuel Leblond ce197990bc
[GDnatvie] improve wrapper code generation 2017-10-08 20:51:18 +02:00
Emmanuel Leblond d17951f57e
[GDnative] Add string_name api 2017-10-08 16:47:10 +02:00