Commit Graph

273 Commits

Author SHA1 Message Date
1e9b46d687 Clearly deprecate sync too in favor of remotesync.
NOTE: This changes the RPC_MODE_* enum values.
Games should be re-exported. GDNative rebuilt.
2018-09-15 00:06:03 +02:00
d6b31daec6 Rename slave keyword to puppet
The slave keyword will still be available as deprecated in 3.1 but will
be dropped from future releases.
2018-09-15 00:06:03 +02:00
e0f763f1c9 [GDNative] add Variant::Operator 2018-09-13 17:23:38 +02:00
1a16dabfb5 Merge pull request #21982 from luzpaz/misc-typos
Misc. typos
2018-09-13 10:59:00 +02:00
08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
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.
2018-09-12 09:52:22 +02:00
fadf2d2afd Fix invalid deref in NativeScript script classes 2018-09-04 08:35:28 -05:00
917bd5b2c2 [NativeScript] implement refcount instance binding funcs 2018-08-30 19:55:04 +02:00
492b4cf837 [GDNative] add initial core 1.1 extension 2018-08-30 19:18:55 +02:00
d9cad85f43 Merge pull request #21229 from marcelofg55/ns_profiling
Implemented profiling functions for NativeScript
2018-08-22 22:27:42 +02:00
a323b7a1ba Implemented profiling functions for NativeScript 2018-08-22 15:40:41 -03:00
4ea3e4f551 doc: Sync classref with current source 2018-08-21 00:35:46 +02:00
661c9ece7c Add PROPERTY_HINT_PLACEHOLDER_TEXT for String properties
Use it to provide a better example for application identifiers
on Android, iOS and macOS, where users thought they *had* to use
this as a magic token.
2018-08-20 13:48:05 +02:00
05f717376b Add NativeScript support for script classes. 2018-08-15 10:58:13 -05:00
cf136a91d6 [Core] Completely kill math_2d.h, change includes 2018-08-11 03:08:34 -05:00
28fc195339 [Core] Change math_2d includes to vector2 includes where relevant 2018-08-10 14:59:29 -05:00
eb48119821 Added system for GDScript warnings
- Count and panel per script.
- Ability to disable warnings per script using special comments.
- Ability to disable warnings globally using Project Settings.
- Option to treat enabled warnings as errors.
2018-08-10 16:00:47 -03:00
c5bd0c37ce Running builder (content generator) functions in subprocesses on Windows
- Refactored all builder (make_*) functions into separate Python modules along to the build tree
- Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere
- Introduced stub to use the builders module as a stand alone script and invoke a selected function

There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp)
on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky
builds. Running all such content generators in a new subprocess instead of directly inside the
build script works around the issue.

Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle.
Suggested workaround did not fully work either.

Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of
running a cross-compilation on Windows they would still be used, but likely it will not happen
in practice. What counts is that the build itself is running on which platform, not the target
platform.

Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
2018-07-27 21:37:55 +02:00
8a914f17b0 Fixed nativescript getter and setter logic 2018-07-27 23:45:29 +10:00
391e46830f doc: Sync classref with current source
Fix various missing arguments in bindings.
2018-07-26 11:56:21 +02:00
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
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
77f3c0b495 Fix possible crash at NativeScript::get_base_script 2018-07-25 10:58:15 -03:00
a22e746bc3 Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
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
deebeb2742 Add a new notification to detect crashes on native scripts 2018-07-02 16:18:58 -03:00
22dac831bc Merge pull request #19757 from Faless/gdnet_pr
Network bindings for GDNative
2018-06-29 19:32:22 +02:00
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
920224a535 add NoCache wrapper to Command 2018-06-21 03:00:33 -04:00
1697cbb4bb Add access for GDNative modules to some platform dependent internals on Android 2018-06-19 17:49:23 +10:00
380b85a32f [Pluginscript] Fix not working exports in editor 2018-06-15 23:11:20 +02:00
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
fc7f931d26 Merge pull request #19255 from Faless/rpc_sync_mmore
RPCMode refactor, more sync modes (2)
2018-05-30 14:59:08 +02:00
8e35d937a9 New sync keywords in GDScript, NativeScript, Mono 2018-05-29 20:26:41 +02:00
1400f6fdc4 Refactor RPCMode enum and checks 2018-05-29 20:26:41 +02:00
4c69a495c9 Revert "RPCMode refactor, more sync modes" 2018-05-29 11:47:52 +02:00
8901b3cf00 [WIP] Adding version info to GDNative ARVR interfaces 2018-05-27 20:31:41 +10:00
a5e8a3be5e New sync keywords in GDScript, NativeScript, Mono 2018-05-26 10:49:33 +02:00
9de4ffde61 Refactor RPCMode enum and checks 2018-05-26 10:43:43 +02:00
70866bbafd changed GDNative API json format 2018-05-10 22:03:06 +02:00
474eda9e30 Fix Variant leak in call_native 2018-05-08 21:27:33 +02:00
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
df79cc86a5 Merge pull request #18119 from sheepandshepherd/nativescript_property_list
Fix NativeScript property list order
2018-04-19 21:37:46 +02:00
00e98458ba Revert "Unify http- and percent- encode/decode"
This reverts commit b76ee30917.
2018-04-12 21:12:34 +02:00
bc110b3771 Fix NativeScript property list 2018-04-11 09:43:07 +02:00
cb7fe2c793 doc: Sync classref with current source 2018-04-10 10:12:42 +02:00
cd7e9d9642 Merge pull request #17583 from RandomShaper/enhance-uri-utils
Enhance uri utils
2018-04-07 17:07:29 -03:00
adecd6f66f Correct profiling_frame naming in pluginscript 2018-04-07 00:11:26 +02:00
e97336a557 Fix Pluginscript add_global_constant mandatory value check 2018-04-06 19:20:12 +02:00
2e1f239fe6 [NativeScript] replace error macros by simple returns 2018-04-06 01:40:26 +02:00