Commit Graph

2004 Commits

Author SHA1 Message Date
George Marques 4b18c4e448
Add typed instructions to GDScript
- Typed assignment (built-in, native, and script).
- Cast (built-in conversion; native and script checks).
- Check type of functions arguments on call.
- Check type of members on set.
2018-07-20 21:55:17 -03:00
George Marques 743053734f
Add static type checks in the parser
- Resolve types for all identifiers.
- Error when identifier is not found.
- Match return type and error when not returning a value when it should.
- Check unreachable code (code after sure return).
- Match argument count and types for function calls.
- Determine if return type of function call matches the assignment.
- Do static type check with match statement when possible.
- Use type hints to determine export type.
- Check compatibility between type hint and explicit export type.
2018-07-20 21:55:16 -03:00
George Marques f7793fc5c9
Store type hint of declared identifiers 2018-07-20 21:55:16 -03:00
George Marques b7a00aead0
Move inheritance resolution to the parser 2018-07-20 21:55:16 -03:00
George Marques 8aab9a06d4
Add typing syntax 2018-07-20 21:55:16 -03:00
Juan Linietsky 6c09cdd136
Merge pull request #20157 from GodotExplorer/image-load-webp
Add webp buffer loader for Image
2018-07-20 12:00:21 -03:00
Pieter-Jan Briers a8c97eb094 Makes Mono bindings partial & adds GetNode<T>. 2018-07-20 13:55:13 +02:00
Ignacio Etcheverry a85f0f89fe
Merge pull request #20257 from oisincar/fix_basis
Fix bug with Basis.Transposed()
2018-07-20 06:47:15 +02:00
Ignacio Etcheverry ee3c476c9a Add Array and Dictionary wrapper classes to C# 2018-07-20 01:44:30 +02:00
Bastiaan Olij 6843f39875 Added some documentation for the CSG nodes 2018-07-19 22:24:46 +10:00
oisincar 7a4d593198 Fix bug with Basis.Transposed()
Fix bug where Basis.Transposed() incorrectly updated local basis, and
returned an unmodified copy. This also fixes Transform.Inverse().
2018-07-19 00:17:45 +01:00
Ignacio Etcheverry a731bd5864
Merge pull request #20253 from neikeq/nobranchnameideasfeelsbadman
Make C# bindings generator ignore disabled classes
2018-07-18 21:20:34 +02:00
Ignacio Etcheverry 92c7fe422b Make C# bindings generator ignore disabled classes 2018-07-18 21:15:41 +02:00
Juan Linietsky 09b1fdc97b
Merge pull request #19931 from BastiaanOlij/csg_polygon_local
Added path_local, path_continuous_u and path_joined properties to CSGPolygon
2018-07-18 11:33:47 -03:00
Rémi Verschelde 7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
Max Hilbrunner 2ba1f76870
Merge pull request #20195 from Faless/ssl_handshake
Non-blocking SSL handshake
2018-07-17 12:09:31 +02:00
geequlim c5efe5d625 Add webp buffer loader for Image
Cleanup the code memory load related code for Image
Fix jpeg buff load function always returns OK event failed
2018-07-17 12:03:45 +08:00
Fabio Alessandrelli 99d0b7ba14 Implement non blocking-handshake for StreamPeerSSL 2018-07-16 13:08:17 +02:00
Juan Linietsky a3f1ee5c57 Global class names (and GDScript support for it) 2018-07-15 19:29:00 -03:00
Max Hilbrunner 118d4f3115
Merge pull request #19540 from muiroc/cylinder
Cylinder resource and collision shape (bullet only)
2018-07-12 05:09:37 +02:00
K. S. Ernest (iFire) Lee e0510369d6 Fix visual script editor interface 2018-07-10 11:17:00 -03:00
Rémi Verschelde 27b70914e4
Merge pull request #19422 from Faless/mbedtls_2.10
Bump mbedTLS to version 2.10.0
2018-07-10 15:04:16 +02:00
Max Hilbrunner 04d9f8dbd6
Merge pull request #20046 from SaracenOne/bmp_fix
Fix bits_per_pixel validation in BMP and TGA loader modules.
2018-07-10 13:35:14 +02:00
Mads Ynddal 39aabba0a9 Added path for Mono installed through Homebrew
On macOS, it is common to install packages like Mono through the third-party
package-manager Homebrew. This commit simply adds an additional path to
where Homebrew installs the Mono framework.
2018-07-10 00:29:05 +02:00
Saracen 115f6d14a0 Fix bits_per_pixel validation in BMP and TGA loader modules. 2018-07-08 18:51:20 +01:00
Bastiaan Olij a971288bb0 Added path_local and path_continious_u properties to CSGPolygon 2018-07-07 18:20:21 +10:00
Max Hilbrunner 3f272c6ae6
Merge pull request #19637 from dragmz/19548
Fix onready vars / vars accessing class members if _ready / _init not present
2018-07-05 04:15:47 +02:00
Ignacio Etcheverry d4f860c768
Merge pull request #19231 from aaronfranke/mono-fposmod-to-mod
[Mono] Rename Fposmod to PosMod, fix output
2018-07-05 01:05:44 +02:00
Max Hilbrunner d988d188ad
Merge pull request #18966 from chanon/new-debug-print
Add new debug print method that shows line number where the print came from
2018-07-04 23:50:45 +02:00
Ignacio Etcheverry 02372bfdf7
Merge pull request #19872 from exts/export_signals
Mono: Fixes annotated signal loading in exported binaries
2018-07-04 21:30:49 +02:00
Ignacio Etcheverry 769f172602
Merge pull request #19756 from NathanWarden/mono_lerp_fixes
[C#] Lerp now consistent with Godot API. InverseLerp fixed.
2018-07-04 21:23:50 +02:00
Ignacio Etcheverry f8daa080f2
Merge pull request #19965 from neikeq/issue-19961
Mono: Fix build script not decoding process utf-8 output
2018-07-04 16:09:42 +02:00
Ignacio Etcheverry 33fd0f762d Mono: Fix build script not decoding process utf-8 output 2018-07-04 16:07:52 +02:00
Rémi Verschelde 0b7df80eb1
Merge pull request #19937 from akien-mga/video-exporting
Fix loading and exporting of Theora and WebM video streams
2018-07-04 08:17:53 +02:00
= 489c9adf03 Mono: Fixes annotated signal loading in exported binaries 2018-07-03 22:12:27 -05:00
Ignacio Etcheverry ac9e736b06
Merge pull request #16987 from neikeq/pending-exceptions
Mono: Pending exceptions and cleanup
2018-07-04 03:45:10 +02:00
Ignacio Etcheverry 4739cb8c00 Mono: Pending exceptions and cleanup 2018-07-04 03:08:29 +02:00
Kelly Thomas 88b89c2084 Changes to default C# script template (#19940) 2018-07-04 03:00:07 +02:00
Rémi Verschelde 6dc20adadd Fix loading and exporting of Theora and WebM video streams
Theora and WebM video streams were mistakenly imported with a ResourceImporter,
but those imported ogvstr and webmstr were simply links to the local resource.
While that works fine in the editor, it no longer works when exporting a game
as the "source" ogv and webm files are ommitted and only the ogvstr and webmstr
references were exported.

As discussed with @reduz, it doesn't make sense to import videos, as we only
intend to play them back and not modify them/access their raw data. As such we
use a ResourceFormatLoader instead of an importer, to load the file on the fly.
ogv and webm files linked to this loader are now considered as resources, and
thus exported.

Note: The Theora and WebM loaders lack any kind of validity check beyond the
existence of the target file, but it was already the case with the importer.
Better checks and error reports could be added, but those loaders will eventually
be obsoleted by GDNative plugins anyway.

Fixes #14954.
2018-07-03 20:21:46 +02:00
Max Hilbrunner aad475937b
Merge pull request #19828 from jjay/fix_yield_leak
Fix memory leak in GDScript during infinnity loops with yields
2018-07-03 18:51:13 +02:00
Max Hilbrunner 2017119a3d
Merge pull request #19919 from marcelofg55/notif_crash
Add a new notification to detect crashes on native scripts
2018-07-03 18:42:49 +02:00
Max Hilbrunner 72e05f3f99
Merge pull request #16944 from rainerdeyke/master
Added 'fill selection' command to grid map editor
2018-07-03 18:32:39 +02:00
Max Hilbrunner 5885e1c6dd
Merge pull request #18976 from chanon/new-get-stack
Add new get_stack function to get GDScript stack trace as array
2018-07-03 17:50:05 +02:00
Max Hilbrunner f672ea1559
Merge pull request #19138 from firefly2442/pcre2-10.31
update PCRE2 to version 10.31, fixes #15662
2018-07-03 17:43:22 +02:00
Max Hilbrunner 0705eb904a
Merge pull request #19251 from YeldhamDev/script_templates_changes
Small changes to the comments in the script templates
2018-07-03 16:48:03 +02:00
Max Hilbrunner beefe98974
Merge pull request #19635 from bojidar-bg/19158-exported-array-new-inspector
Add proper type information to array property
2018-07-03 15:47:02 +02:00
Marcelo Fernandez deebeb2742 Add a new notification to detect crashes on native scripts 2018-07-02 16:18:58 -03:00
Juan Linietsky 2dc738ce27 -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios
-Fixes to some duplication scenarios for instanced scenes
2018-07-02 15:08:35 -03:00
muiroc 0a36e974da added cylinder shape support 2018-07-01 11:16:54 +02:00
Ignacio Etcheverry 68c106d60d
Merge pull request #19768 from KellyThomas/env-string
mono: convert unicode mono root path to ascii string
2018-07-01 01:17:06 +02:00
Kelly Thomas 753230c275 convert unicode mono root path to ascii string 2018-06-30 08:58:41 +08:00
Thomas Herzog 22dac831bc
Merge pull request #19757 from Faless/gdnet_pr
Network bindings for GDNative
2018-06-29 19:32:22 +02:00
Yasha Borevich 30317296af Fix memory leak in GDScript during infinnity loops with yields 2018-06-28 23:55:30 +03:00
Rémi Verschelde 87dc0d7c7e
Merge pull request #19827 from Faless/lws_fix_lite
Fix fragment size bug in WebSocket (lws)
2018-06-28 18:12:11 +02:00
Juan Linietsky eeab3502d5 Changes to how node paths are selected from property, allowing setting a hint. 2018-06-27 20:50:25 -03: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
Aaron Franke 5b2b23c9a9 [Mono] Rename Fposmod to PosMod
[Mono] Rename Fposmod to PosMod
2018-06-27 00:58:24 -05:00
Nathan Warden c2315e3291 Lerp now consistent with Godot API. InverseLerp fixed. 2018-06-24 17:52:17 -05:00
Fabio Alessandrelli 267b3746c5 Sanitize protocol struct, def LWS T/RX buffer size 2018-06-23 20:17:15 +02:00
Ignacio Etcheverry 25275de50e
Merge pull request #19016 from neikeq/w
Mono: Module build improvements
2018-06-22 19:18:15 +02:00
Ignacio Etcheverry ec6416d2b6 Mono: Module build improvements
- Add (Csc/Vbc/Fsc)ToolExe environment variables when running Mono's MSBuild.
- Fix directory for the 'mono_assemblies_output_dir' argument being created with the '#' top level directory token as part of its name.
- Allow to build with 'mono_static=yes' on Unix without specifying a mono prefix. The build script will try to find the mono prefix using the output from pkg-config.
2018-06-22 19:14:58 +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
Marcin Zawiejski 317dcb084b Fix onready vars / vars accessing class members if _ready / _init not present 2018-06-18 23:31:48 +02:00
Bojidar Marinov 8ecef3496c
Add proper type information to array property
Part of #19158
2018-06-18 22:24:31 +03:00
Emmanuel Leblond 380b85a32f
[Pluginscript] Fix not working exports in editor 2018-06-15 23:11:20 +02:00
Paulb23 08c036b706 Removed duplicate default colours and removed GDScriptHighligher colours from main editor. 2018-06-13 18:25:02 +01:00
Rémi Verschelde f0fa590210
Merge pull request #19526 from robojumper/fix_tutorials
Add support for tutorial links to makerst.py
2018-06-13 14:29:45 +02:00
robojumper 98b59cf2a3 Add support for tutorial links to makerst.py
Also change the <tutorials> structure to make use of individual <link> tags
2018-06-12 17:40:24 +02:00
Jairo Honorio afcac41d31 Inner classes' functions now appear in the editor's functions panel
Fixes #19386
2018-06-12 10:43:37 -03:00
Michael Alexsander Silva Dias fd17b960e9 Small changes to the comments in the script templates. 2018-06-11 02:04:51 -03:00
Benjamin 1535ffab06 Fix CSG issues when reparenting shape nodes. 2018-06-10 17:54:42 +02:00
Fabio Alessandrelli 888379e513 Bump mbedTLS to version 2.10.0 2018-06-07 18:50:44 +02:00
Fabio Alessandrelli e56a3c1dc4 Bump libwebsockets to version 3.0.0 2018-06-07 18:07:35 +02:00
Rémi Verschelde d0811ed3f9 Thirdparty: Fill copyright for lws, miniupnpc, clipper
Rename `lws` to `libwebsockets` which is its library name.

Add missing license file for mbedtls.
2018-06-07 10:46:05 +02:00
Fabio Alessandrelli b4c65093d7
Merge pull request #18780 from mhilbrunner/upnp
Add UPnP support (port forwarding, querying external IP)
2018-06-07 02:10:48 +02:00
mhilbrunner c21da40de5 Add UPnP support (port forwarding, querying external IP) 2018-06-07 01:52:04 +02:00
Max Hilbrunner aaf93f92d8
Merge pull request #19397 from Faless/ws_get_ip_port
Fix LWSPeer get_connected_[host/port]
2018-06-06 20:38:39 +02:00
Fabio Alessandrelli 6cda58a12f Fix LWSPeer get_connected_[host/port] 2018-06-06 18:34:08 +02:00
Kelly Thomas 17516822f9 allow undefined GODOT_DEBUG_MSBUILD environment variable 2018-06-06 22:31:54 +08:00
Ignacio Etcheverry b4f66e04e8
Merge pull request #19387 from neikeq/y
Mono fixes and improvements
2018-06-05 22:28:46 +02:00
Ignacio Etcheverry 4a021fa7a2 Mono: Add 'View log' button to open the MSBuild log of a build 2018-06-05 22:21:52 +02:00
Ignacio Etcheverry 25f10b3c40 Mono: Fix passing wrong logger assembly path to MSBuild
- Add option to print MSBuild's stdout and stderr instead of redirecting it. This can be enabled by setting the environment variable: Godot_DEBUG_MSBUILD=1
2018-06-05 22:18:43 +02:00
Ignacio Etcheverry 7933a6cc9f Mono: Null checks when marshaling from MonoArray* and managed Dictionary 2018-06-05 22:14:32 +02:00
Rémi Verschelde 6e32a2886f
Merge pull request #18792 from PJB3005/18-05-11-objectdb-verbose-mono
Fixes ObjectDB leak printout with mono.
2018-06-05 10:03:11 +02:00
Hein-Pieter van Braam f2d669f5d3 Fix Mono static linking on Mingw 2018-06-01 21:46:46 +02:00
Rémi Verschelde 43b7ebf0a0 Style: Apply clang-format (5.0) to some missed files 2018-05-31 09:00:37 +02:00
Rémi Verschelde 59c2c21b15 Move NavigationMeshEditorPlugin to Recast module as should be
Modules can register their own editor plugins (like GridMap does),
so no need to put module-specific classes in the `editor/` folder.

Also cleans up the previous SCons env pollution from the Recast
module, integrating its code into libmodules as other modules.
2018-05-30 22:10:11 +02:00
Rémi Verschelde 65fc525ed8
Merge pull request #19272 from akien-mga/svg-buildsystem
SCons: Remove extraneous lib for SVG module
2018-05-30 22:10:03 +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 5eb611b297 SCons: Remove extraneous lib for SVG module
It was likely copy pasted by mistake from the freetype module,
which is more complex due to its usage in the core of the engine.
The SVG module does not seem to need any special treatment,
apart from linking in the main env so that editor can access it.
2018-05-30 16:56:24 +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
Bastiaan Olij 3d9dffdef7
Merge pull request #19171 from BastiaanOlij/add_arvr_interface_gdnative_version
Adding version info to GDNative ARVR interfaces
2018-05-30 18:49:07 +10: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
Max Hilbrunner d0b62ce155
Merge pull request #19021 from Faless/rpc_sync_fix
RPCMode refactor, more sync modes
2018-05-29 09:44:03 +02:00
Rémi Verschelde 53440ddeec
Merge pull request #19199 from AndreaCatania/kinimp
Improved kinematic test_body_motion code
2018-05-29 07:50:25 +02:00
firefly2442 5383ae005c update PCRE2 to version 10.31, fixes #15662 2018-05-28 21:11:41 -06:00
George Marques 38284bc6da
Enable singletons to be recognized as constant expressions
Fix #14681
2018-05-28 13:40:16 -03:00
chanon 3ea6d9f37d add new print_debug method which shows source and line number 2018-05-28 18:37:07 +07:00
Ignacio Etcheverry 97342e6985
Merge pull request #19201 from neikeq/issue-13837
Mono: Fix MonoImage filename being set to an invalid path
2018-05-27 17:19:13 +02:00
Ignacio Etcheverry 97fb999976 Mono: Fix MonoImage filename being set to an invalid path 2018-05-27 17:15:41 +02:00
Andrea Catania 97a1011ba1 Improved kinematic test_body_motion code 2018-05-27 14:55:52 +02:00
Bastiaan Olij 8901b3cf00 [WIP] Adding version info to GDNative ARVR interfaces 2018-05-27 20:31:41 +10:00
Max Hilbrunner 7e8b7a7815
Merge pull request #18379 from ZDDM/18-04-23-audiostream-docs
Fully expose the data variable in AudioStreamSample and AudioStreamOGGVorbis
2018-05-26 18:22:05 +02:00
Max Hilbrunner 2fca33ac7b
Merge pull request #18516 from PJB3005/18-04-30-visual-script-title-bars
Move things into the title bars of Visual Script nodes.
2018-05-26 18:06:58 +02: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
Ignacio Etcheverry a830e633a2
Merge pull request #19074 from cart/optimize-mono-pool-marshal
Reduce allocations when converting mono arrays to pool arrays
2018-05-25 11:04:16 +02:00
Rémi Verschelde 17faf11119
Merge pull request #19063 from KellyThomas/c-sharp-feature-parity-vectors
mono: Add Slerp method to vector classes, expose Cross method for Vector2
2018-05-25 09:44:03 +02:00
Ignacio Etcheverry 64c903580e
Merge pull request #19149 from neikeq/x
Mono: Improve 'script class not found' error
2018-05-24 20:38:18 +02:00
Ignacio Etcheverry c8945fe7d8 Mono: Improve 'script class not found' error
No longer printed when using using placeholder script instances (for non-tool scripts in the editor).
Print different error if the project assembly is not loaded
2018-05-24 20:16:23 +02:00
Max Hilbrunner aee8d26252
Merge pull request #19131 from YeldhamDev/connection_comment_capitalize
Capitalized comments of methods created by the Connect Signal dialog
2018-05-24 01:21:17 +02:00
Michael Alexsander Silva Dias 4e257293d9 Capitalized comments of methods created by the Connect Signal dialog. 2018-05-23 18:11:00 -03:00
George Marques 3cec24baa8
Fix positive operator in GDScript compiler 2018-05-23 17:43:56 -03:00
Kelly Thomas b335274bcd mono: add Slerp method to vector classes, expose Cross method for Vector2, and fix unnecessary casts in Basis 2018-05-22 08:27:49 +08:00
Kelly Thomas c7e98eef67 Fix index out of range error in string.Extension() 2018-05-21 18:48:53 +08:00
Carter Anderson 56262ceafe Reduce allocations when converting mono arrays to pool arrays 2018-05-20 18:18:06 -07:00
Rémi Verschelde 228b09bafb
Merge pull request #18974 from KellyThomas/c-sharp-feature-parity-basis
Mono: Basis constructor for euler parameter
2018-05-18 21:09:57 +02:00
Ignacio Etcheverry fc90f41f53
Merge pull request #18975 from KellyThomas/c-sharp-feature-parity-color
mono: New Color methods:  Darkened, Lightened and ToRgba32
2018-05-18 20:09:01 +02:00
Kelly Thomas 16e1b4bacf mono: Plane, expose Normal, and D 2018-05-17 23:04:20 +08:00
chanon a56d6ff35f add new get_stack function to get GDScript stack trace as array 2018-05-17 21:06:30 +07:00
Kelly Thomas 88bd33f451 mono: New Color methods: Darkened, Lightened and ToRgba32 2018-05-17 21:41:19 +08:00
Kelly Thomas c26d30986a Mono: Basis constructor for euler parameter 2018-05-17 21:31:14 +08:00
Michele Valente 6c74f3de6d fixes build error on Linux after its introduction in #18949
The function expects now a return value. Returning NULL seems to work in
this case.
2018-05-17 11:34:05 +02:00
Rémi Verschelde b0649d2718
Merge pull request #18405 from flashyincceo/gdscript-constants-help
Fix Ctrl+click on @GDScript constants
2018-05-17 09:36:55 +02:00
Rémi Verschelde c3510cd981
Merge pull request #18949 from neikeq/alo
Mono: Project building fixes
2018-05-17 08:33:54 +02:00
Ignacio Etcheverry 01397a10d9 Mono: Project building fixes
- Set (Csc/Vbc/Fsc)ToolExe environment variables to point to the batch files in Mono's bin directory when building with Mono's MSBuild.
- Set Mono's MSBuild as the default build tool on Windows.
- Generate projects with portable DebugType instead of full.
2018-05-17 01:26:23 +02:00
Ignacio Etcheverry 41f79a6f14
Merge pull request #18889 from madadam/async-await-fix
Set current SynchronizationContext before the game loop starts
2018-05-16 23:44:55 +02:00
Guilherme Felipe 35024d4e7b Add missing copyright headers 2018-05-16 14:50:44 -03:00
Juan Linietsky dfd1331690 Allow editing of some unbound properties when hinted (or no range hinted) 2018-05-16 09:13:41 -03:00
Rémi Verschelde dfee637ff9
Merge pull request #18897 from volzhs/libwebp-1.0.0
Update libwebp to 1.0.0
2018-05-16 02:31:01 +02:00
Daniele Giuliani d315b0fb8a added get_creation_time function for gdscript 2018-05-16 00:50:57 +02:00
Juan Linietsky 005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00
volzhs 6ed8124923 Update libwebp to 1.0.0 2018-05-16 01:00:55 +09:00
Adam Cigánek f25240cfe6 Set current SynchronizationContext before the game loop starts
This fixes the problem that `SynchronizationContext.Current` would be null
during the call to `_EnterTree`, `_Ready` and the first call to `_Process` thus
the task continuations would be scheduled outside the main thread, which is unexpected and might lead to crashes.

With this change, task continuations are scheduled always on the main thread and so async/await can be used without any explicit synchronization, which is what is expected.

Fixes #18849
2018-05-15 15:09:40 +02:00
Juan Linietsky 47d4a011d8
Merge pull request #18545 from vnen/editor-autoload
Enable autoload in editor
2018-05-14 17:59:34 -03:00
Leon Krause b8c35b4078 Fix duplicate definitions with FreeType 2018-05-13 15:20:05 +02:00
Fabio Alessandrelli f95e4c72df Expose channels in NetworkedMultiplayerENet 2018-05-12 23:51:58 +02:00
Rémi Verschelde 9af5cab32e
Merge pull request #18802 from bruvzg/fix_x11_arm_build
Fix X11 build on ARM Linux
2018-05-12 09:39:51 +02:00
Rémi Verschelde 3d9deda8b3 Sync classref with current source 2018-05-12 09:38:00 +02:00
bruvzg ce64c2a32e
Fix Linux/X11 build on ARMs. 2018-05-11 17:34:43 +03:00
Pieter-Jan Briers 27d70924a0 Fixes ObjectDB leak printout with mono.
Fixes #18767
2018-05-11 13:50:56 +02:00
AndreaCatania 5f66734d2d Implemented physics material
Hidden a function

Fixed travis static check
2018-05-11 03:23:09 +02:00
karroffel 70866bbafd changed GDNative API json format 2018-05-10 22:03:06 +02:00
Rémi Verschelde 919d802e66
Merge pull request #18183 from Paulb23/gdscript_highlighter_inital_changes
GDScript function definition and get_node shortcut syntax highlighting
2018-05-10 01:25:51 +02:00
Marcelo Fernandez e64bbcc429 Fix some enums missing its bind 2018-05-08 21:14:31 -03:00
Max Hilbrunner e744d12e56
Merge pull request #18709 from Faless/multiplayer_docs
Rename multiplayer_api to multiplayer, add docs
2018-05-09 01:41:01 +02:00
Pedro J. Estébanez 474eda9e30 Fix Variant leak in call_native 2018-05-08 21:27:33 +02:00
Fabio Alessandrelli dd546dc5b8 Document websocket module, further document enet 2018-05-08 21:15:50 +02:00
Juan Linietsky b190afe084
Merge pull request #15549 from SaracenOne/bmp
BMP module
2018-05-08 10:46:13 -03:00
Rémi Verschelde de9683b605
Merge pull request #17559 from simedis/joint_motors
Implemented interface for bullet linear motors
2018-05-08 10:23:41 +02:00
Juan Linietsky 299d8a80ba
Merge pull request #16106 from poke1024/gdscript-lerp
GDScript: generalize lerp
2018-05-07 20:36:31 -03:00
Juan Linietsky ff1e7cfbf4 Add is_instance_valid() method to GDScript, ending more than a decade of pain. 2018-05-07 17:30:03 -03:00
AndreaCatania 9e57a07fb6 Implemented ragdoll
Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

a

Implemented implicit hierarchy.

Improved

Added some physics properties

Added bone offset to preserve COM, partially fixed scaling

work in progress

WIP

wip

Implemented Joint Gizmos

Implemented pin joint joint

Implemented all joints
2018-05-07 21:03:16 +02:00
mhilbrunner ba4600757a Enet: Add wait time param to close_connection()
Enet: Allow to set client interface/address and port

Enet: More error checks

Fix comment
2018-05-07 01:37:15 +02:00
Kelly thomas a6bd2c6e72 round / ceil methods for c sharp vectors 2018-05-04 20:17:10 +08:00
Max Hilbrunner ffb6f8f1ca
Merge pull request #18406 from YeldhamDev/script_templates_period
Changed periods in the script templates
2018-05-04 11:20:16 +02:00
Rémi Verschelde 460e551ddf
Merge pull request #16418 from bojidar-bg/15961-gdscript-array-export
Allow exporting arrays of resources in GDScript
2018-05-03 21:19:15 +02:00
Juan Linietsky f056b09f5a
Merge pull request #18589 from karroffel/oahashmap-robinhood
updated OAHashMap to use robinhood hashing
2018-05-03 14:47:07 -03:00
karroffel bf24d570bb updated OAHashMap to use robinhood hashing 2018-05-03 17:00:21 +02:00
Rémi Verschelde b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
API hash fixes
2018-05-03 14:36:32 +02:00
Ignacio Etcheverry a02fec47a0
Merge pull request #18562 from neikeq/issue-18526
Fix MSVC check when building with mono
2018-05-02 18:24:57 +02:00
Michael Alexsander Silva Dias 093b069bf6 Changed periods in the script templates. 2018-05-02 11:42:09 -03:00
Ignacio Etcheverry a1aa98e05a Fix MSVC check when building with mono 2018-05-02 15:19:02 +02:00
Ignacio Etcheverry c0192e405d
Merge pull request #18561 from neikeq/fix-find-msbuild-2
Fix editor detecting msbuild with a msvc 'tools only' install
2018-05-02 15:13:44 +02:00
Ignacio Etcheverry 93d13bee8b Fix editor detecting msbuild with a msvc 'tools only' install 2018-05-02 15:06:25 +02:00
Rémi Verschelde d33308921d
Merge pull request #18553 from bzztbomb/fix/stack_underflow_when_debuggin_in_release
Fix a crash when trying to run Godot debugger on a release build.
2018-05-02 10:48:45 +02:00
Rémi Verschelde b0cf3628aa
Merge pull request #18452 from flashyincceo/enum-no-class
Fix enums without class name not opening docs page
2018-05-02 10:32:19 +02:00
Rémi Verschelde fb917b5568
Merge pull request #18531 from KidRigger/issue5972
Adds keywords to autocomplete predictions.
2018-05-02 10:22:08 +02:00
Brian Richardson 9149b11973 Fix a crash when trying to run Godot debugger on a release build.
The GDScriptLanguage::enter_function is wrapped in #ifdef DEBUG but the exit_function is not, resulting in a stack underflow error.
2018-05-01 15:40:30 -07:00
Rémi Verschelde de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
George Marques decf178033
Enable autoload in editor
- Tool scripts will be executed and can be accessed by plugins.
- Other script languages can implement add/remove_named_global_constant
to make use of this functionality.
2018-05-01 11:44:08 -03:00
Peter Folkins ccd986f53e Fix enums without class name not opening docs page 2018-05-01 07:57:53 -05:00
Zumo ef74954e66 Fully exposes data variable on AudioStreamSample/AudioStreamOGGVorbis...
...and also changes "_set_data" and "_get_data" to "set_data" and "get_data" respectively.
2018-05-01 12:19:15 +02:00
Rémi Verschelde 9834b690ae
Merge pull request #18334 from Faless/coverity_net
Various coverity scan fixes, WS FreeBSD fixes
2018-05-01 08:44:11 +02:00
Rémi Verschelde 4cce6f3417
Merge pull request #18321 from Crazy-P/Fixes-logically-dead-code
Fixes logically dead code (Coverity)
2018-05-01 08:35:10 +02:00
Anish 6e32157a65 Adds keywords to autocomplete predictions.
Adds keywords to the autocomplete prediction in GDScript so
they are not replaced by irrelevant predictions.

Fixes: #5972
2018-05-01 11:48:16 +05:30
Pieter-Jan Briers 99e871f45f More stuff! 2018-05-01 00:39:28 +02:00
Max Hilbrunner 813acef973
Merge pull request #18523 from hpvb/fix-clang-lto
Fix lto builds on clang compilers
2018-04-30 17:12:13 +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
Hein-Pieter van Braam 0ec912a79e Fix msbuild with a msvc 'tools only' install
Taken from https://github.com/Microsoft/vswhere/wiki/Find-MSBuild
without '-products *' vswhere does not locate msbuild when installing a
tools-only (no IDE) version of the microsoft compilers.
2018-04-30 12:52:18 +02:00
Saracen e30b0656e8 BMP module 2018-04-30 01:33:14 +01:00
Pieter-Jan Briers 8d9d847a1a Move things into the title bars of Visual Script nodes.
This is an attempt to make VS slightly nicer to use.

WiP.
2018-04-30 01:28:31 +02:00
Ignacio Etcheverry 7034d48032 Fix binding some core API methods only in tools builds 2018-04-29 19:49:26 +02:00
Pieter-Jan Briers ce4451b45f assembly_load_hook fallback for registering GDMonoAssemblies.
Fixes #18029.

There are ways to load assemblies that the search hook has no way of intercepting,
and handling itself. Such as loading from a byte[] in C# code.

We now handle these cases with a fallback assembly_load_hook,
to avoid crashes when this is indeed done.
2018-04-29 16:32:30 +02:00
Ignacio Etcheverry fbc808012f Mono: BindingsGenerator enum fixes
- Make enums have an unique signature name of int. This means that when generating internal methods, there is no difference between different enums types nor between enums and int. This way enums can re-use internal methods.
- Make type resolver fallback to int if a type is not found and it's an enum.
2018-04-28 22:25:25 +02:00
Juan Linietsky 1226720c01 Add poly triangulation order check, ensures faces do not flip on different order 2018-04-28 12:59:45 -03:00
Juan Linietsky f8520dbba7 -Changed how operators work, any shape can operate on any other
-Added some break condition for bad poly data to avoid editor freezes
2018-04-28 12:33:23 -03:00
Juan Linietsky ec7ed5f360 Avoid CSG freeze condition on degenerates 2018-04-28 09:47:16 -03:00
Juan Linietsky c4d0f528b1 Do not crash if the polygon is invalid 2018-04-28 08:53:27 -03:00
Juan Linietsky afb4ce8d2d Reduce false positives in interior detection by adding a small offset to raycast, fixes #18476 2018-04-28 08:16:26 -03:00
Juan Linietsky 8d199a9b2c CSG Support for Godot!
-Missing Icons
-Missing freezing option (for baking light and faster load)
-Missing a way to export from Godot (GLTF2?)
-Probably buggy (may freeze editor, can be worked around easily, but let me know if this happens so it's easier to catch bugs)
Happy testing!
2018-04-27 21:55:10 -03:00
Ignacio Etcheverry b5e6e142ef Add option to link mono statically on Windows 2018-04-25 21:15:35 +02:00
Peter Folkins 825d49dfe2 Fix Ctrl+click on @GDScript constants 2018-04-24 20:50:21 -05:00
Ignacio Etcheverry 6faa96fb89
Merge pull request #18399 from neikeq/u
Mono fixes
2018-04-24 20:58:25 +02:00
Ignacio Etcheverry ff7fe9e771 Mono: Fix '!t' error messages when generating bindings
This error wasn't affecting the bindings generation process.
2018-04-24 20:47:06 +02:00
Ignacio Etcheverry f8ce412560 Mono: Do not spam script class not found error
Print this error only when trying to instantiate the script. This way we prevent errors being printed for source files which are not meant to be used as scripts.
2018-04-24 20:46:57 +02:00
Ignacio Etcheverry 89e84185e8 Mono: Fix crash on script load if the scripts domain isn't loaded 2018-04-24 20:46:53 +02:00
Hugo Locurcio 1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Crazy-P e6deba8d19 Fixes logically dead code (Coverity)
Fixes reported logically dead codes by Coverity

* image.cpp: Doesn't really need any modification. But to remove the bug
report then we have to move the MAX call away from the for loop
statement.

* rasterizer_gles3.cpp: Removes unnecessary elif condition since it is
checked earlier in the function

* collada.cpp: If stamement never reached due to macro ERR_CONTINUE does
the same.

* navigation_mesh.cpp: Variables should always be null - however, also
checked for the very same condition in their function call. Leaving this
for review (whether the function call is necessary or not)

* path_editor_plugin.cpp: If cancel is true, then it should restore the
edited value to the original provided.
http://docs.godotengine.org/en/3.0/classes/class_editorspatialgizmo.html#class-editorspatialgizmo-commit-handle

* spatial_editor_gizmos.cpp: the very condition of i >= 3 is
predetermined in the if case right before it. Thus case 1 is always '1'
and case 2 is always '-1'

* grid_map_editor.cpp: Same as above in spatial_editor_gizmos.cpp

* voxel_light_baker.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_server.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_script_expression.cpp: char '-' is already true in the switch
case mechanism. Thus it can never reach to default case.

* particles.cpp: Case 'PARAM_MAX' is unreachable due to index checking
right before the switch execution.

* shader_language.cpp: Invalid index is handled in switch default case.
`type < TYPE_FLOAT && type > TYPE_VEC4` -> `(type < TYPE_FLOAT || type > TYPE_VEC4`)
Fixes the "always false problem" in TODO comment.
2018-04-21 22:35:23 +08:00
Fabio Alessandrelli 03bf783f3c Various coverity scan fixes for networking
Fix FreeBSD websocket compilation error
2018-04-21 15:36:41 +02:00
Paulb23 adeed58477 Added GDScript NodePath highlighting 2018-04-20 21:00:07 +01:00
Paulb23 4cd16f6ba9 Added GDScript function definition highlighting 2018-04-20 20:54:31 +01:00
Paulb23 28dfc7f915 GDScript highlighter now remembers previous state 2018-04-20 20:46:08 +01:00
Paulb23 c3d93edf3d Exclude GDScriptSyntaxHighlighter from non-tool builds 2018-04-20 20:45:57 +01: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
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Rémi Verschelde 3018132244
Merge pull request #18204 from tagcup/quat_scale
Avoid converting Quat to Euler angles when not necessary.
2018-04-18 13:55:35 +02:00
Rémi Verschelde 952f7d71aa
Merge pull request #18142 from AndreaCatania/coverity1
Removed useless check
2018-04-18 12:49:47 +02:00
Xavier Cho 6b611e6431 #18051: Fix indentation issues introduced during clean up 2018-04-17 07:53:27 +09:00
Xavier Cho e59fad3924 #18051: Do not use `var` in a for-loop, or where type is not obvious 2018-04-17 07:39:37 +09:00
Xavier Cho 94edd92248 #18051: Use common name for Color type argument 2018-04-17 07:39:37 +09:00
Xavier Cho f0bf5532fa #18051: Remove redundant verbatim prefixes 2018-04-17 07:39:37 +09:00
Xavier Cho 85787776a5 #18051: Use default parameter value 2018-04-17 07:39:37 +09:00
Xavier Cho b765c051cb #18051: Use array initializer when applicable 2018-04-17 07:39:37 +09:00
Xavier Cho 9097c71255 #18051: Remove redundant parenthesis 2018-04-17 07:39:37 +09:00
Xavier Cho 93dd59d763 #18051: Remove unnecessary variable assignments 2018-04-17 07:39:37 +09:00
Xavier Cho fdfc478c88 #18051: Use 'var' when applicable 2018-04-17 07:39:37 +09:00
Xavier Cho 0ef3e0577b #18051: Remove redundant casts and 'using', 'else', 'this' statements 2018-04-17 07:39:37 +09:00
Xavier Cho 9e2e6bb1e2 Remove duplicated declaration of RoundToInt() from Mathf 2018-04-17 07:39:37 +09:00
Will Vincent b6b8c7b215 Remove incorrect & potentially confusing references to Euler
e is referred to as Euler’s number, so technically the MATH_EXP description in VisualScript doc was not incorrect, though could potentially lead to confusion.

e is different from Euler’s constant however, making the existing GDScript exp & VisualScriptMathConstant descriptions nvalid.
2018-04-15 11:40:31 -05:00
tagcup a5e0bb447c Avoid converting Quat to Euler angles when not necessary.
Also ensure that get_scale doesn't arbitrarlity change the signs of scales, ensuring that the combination of get_rotation and get_scale gives the correct basis.

Added various missing functions and constructors.

Should close #17968.
2018-04-14 15:53:25 -04:00
Fabio Alessandrelli eac2863c25
Merge pull request #18154 from mhilbrunner/issue-12512
Add DNS resolution in NetworkedMultiplayerEnet::create_client()
2018-04-13 23:09:17 +02:00
mhilbrunner b0826dec05 Add DNS resolution in NetworkedMultiplayerEnet::create_client() 2018-04-13 22:31:01 +02:00
Ignacio Etcheverry e3590a2522
Merge pull request #18038 from Chaosus/mathf
[Mono] Improvements for Mathf
2018-04-13 22:22:28 +02:00
Chaosus 655a4e6540 [Mono] Improve Mathf 2018-04-13 20:15:49 +03: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
Fabio Alessandrelli 6b9ec810c6 Implement get_peer_[address|port] in ENet/WSServer
Also implement get_connected_host and get_connected_port in WebSocketPeer
(not supported in HTML5 due to browser limitation).
Add shorthand disconnect_peer(id) for get_peer(id)->close() like in ENet to
WebSocketServer.
2018-04-12 12:30:51 +02:00
Andrea Catania 2cfa861222 Removed useless check 2018-04-12 11:37:36 +02:00
Andrea Catania df2a626b49 Fixed wrong function call 2018-04-12 11:02:43 +02:00
Andrea Catania f0abdf06ad
Rigidbody wake up when hitten by a kinematic body 2018-04-12 07:59:12 +02:00
sheepandshepherd bc110b3771 Fix NativeScript property list 2018-04-11 09:43:07 +02:00
Fabio Alessandrelli a522bb1106
Merge pull request #18070 from mhilbrunner/godot-net-kick
NetworkedMultiplayerEnet: Add disconnecting/kicking peers
2018-04-10 21:06:21 +02:00
mhilbrunner c531287328 NetworkedMultiplayerEnet: Add disconnecting/kicking peers 2018-04-10 19:00:05 +02:00
Rémi Verschelde cb7fe2c793 doc: Sync classref with current source 2018-04-10 10:12:42 +02:00
Rémi Verschelde e15f2636ea
Merge pull request #18081 from AndreaCatania/arcle
Corrected area overlap cleaning
2018-04-09 22:04:25 +02:00
Rémi Verschelde 36552c2c90
Merge pull request #18040 from Paulb23/color_region_cache
Fixed colour regions and added local colour region cache
2018-04-09 16:05:26 +02:00
Andrea Catania 45b778c7f8 Fixed area overlap cleaning 2018-04-09 09:33:29 +02:00
Ignacio Etcheverry ea0e73f3c8
Merge pull request #17864 from NikodemL/fix_mono_bottom_panel_issue_activated
Fixed mono bottom panel to select the correct file when messages are filtered
2018-04-09 09:15:43 +02:00
Juan Linietsky 34e367597d
Merge pull request #16556 from aragar/master
For-in loop variable added to autocompletion
2018-04-08 17:25:01 -03:00
Juan Linietsky cd7e9d9642
Merge pull request #17583 from RandomShaper/enhance-uri-utils
Enhance uri utils
2018-04-07 17:07:29 -03:00
Juan Linietsky 187b14ae24
Merge pull request #17730 from RandomShaper/radio-buttons-in-menus
Radio buttons in menus
2018-04-07 16:41:39 -03:00
Paulb23 b571a29df5 Fixed color regions and added local color region cache 2018-04-07 14:14:19 +01: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
Rémi Verschelde bdfa10fc8f
Merge pull request #17899 from AndreaCatania/area_cleaning
Fixed physics server area cleaning
2018-04-06 08:15:22 +02:00
Andrea Catania 776942981b Fixed physics server area cleaning 2018-04-06 07:48:30 +02:00
karroffel 2e1f239fe6 [NativeScript] replace error macros by simple returns 2018-04-06 01:40:26 +02:00