Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
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.
2018-07-26 00:54:16 +02:00
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