Commit graph

2807 commits

Author SHA1 Message Date
Ignacio Etcheverry 2f3328a039 Fix wrong method binds and registered class 2019-04-06 16:12:59 +02:00
Ignacio Roldán Etcheverry 74719b8748
Merge pull request #26662 from neikeq/csharp-collection-changes
C#: Collections breaking changes and improvements
2019-04-06 14:44:59 +02:00
Rémi Verschelde 87ee2a9239
Merge pull request #26634 from psuhas77/patch-3
Added get_noise_1d
2019-04-06 13:06:50 +02:00
Ignacio Etcheverry 480d4c6fba C#: Support type hints for exported Arrays
Added the code for Dictionary as well, but it's not yet supported by the Godot inspector.
2019-04-06 12:14:43 +02:00
Ignacio Etcheverry 187e6ae26d C#: Add marshalling support for IEnumerable and IDictionary
Added constructor that takes IEnumerable for Array and IEnumerable<T> for Array<T>.
Added constructor that takes IDictionary for Dictionary and IDictionary<TKey, TValue> for Dictionary<TKey, TValue>.
2019-04-06 12:14:37 +02:00
Ignacio Etcheverry 92b02cb027 C#: Some important Array and Dictionary interface changes
Array now implements IList instead of IList<object, object>.
Dictionary now implements IDictionary instead of IDictionary<object, object>.
2019-04-06 11:00:40 +02:00
Ignacio Etcheverry e82b2def8e Mono: Buildsystem support for finding MSBuild from VS2019 2019-04-06 01:32:41 +02:00
Ignacio Etcheverry ad2127a3e8 Replace a few #if/#elif with #ifdef and "#elif defined" 2019-04-05 23:41:51 +02:00
Bastiaan Olij 8349d4fbd9 Add option to have viewport render into supplied texture 2019-04-06 08:24:58 +11:00
Hugo Locurcio 00799fc8c2
Add support for type hints in non-default script editor templates
This also refactors template processing to avoid repetition.

This closes #27074.
2019-04-05 23:19:30 +02:00
K. S. Ernest (iFire) Lee e3ef7f214a Add Open Asset Import Library to Godot.
FBX support and MMD (pmx) support.

Normals, Albedo, Metallic, and Roughness through Arnold 5 Materials for Maya FBX.

Maya FBX Stingray PBS support.

Importing FBX static meshes work.

Importing FBX animations is a work in progress.

Supports FBX 4 bone influence animations.

Supports FBX blend shapes.

MMDs do not have an associated animation import yet.

Sponsored by IMVU Inc.
2019-04-05 07:17:52 -07:00
Rémi Verschelde a61ad365f5
Merge pull request #27677 from akien-mga/Wimplicit-fallthrough
Fix -Wimplicit-fallthrough warnings from GCC 8
2019-04-05 16:12:45 +02:00
Chaosus 55f3bd97a2 Added direction_to method to vectors 2019-04-05 17:09:57 +03:00
Rémi Verschelde c9aa0c20a0
Merge pull request #27327 from goodyttoor/grayscale_exr
Fix import grayscale EXR
2019-04-05 15:46:23 +02:00
Rémi Verschelde 63d3a42f82
Merge pull request #27465 from neikeq/road-to-lang-agnostic-docs-is-going-to-be-tough
EditorHelp: Improve enum ref resolving and add constant ref support
2019-04-05 15:19:21 +02:00
Rémi Verschelde fc370b3feb Fix -Wimplicit-fallthrough warnings from GCC 8
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.

The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.

Fixes #26135.
2019-04-05 15:14:53 +02:00
Rémi Verschelde 6a33727cb1
Merge pull request #27687 from Zylann/fix_heightmap_shape_min_max
Fix wrong heights data used to compute min and max heights
2019-04-05 11:52:22 +02:00
ForLoveOfCats 444242a080 Mono: Make missing default constructor error more foolproof 2019-04-04 16:56:02 -04:00
Marc Gilleron cdcdba704b Fix wrong heights data used to compute min and max heights 2019-04-04 21:22:18 +01:00
ForLoveOfCats 46e79e6fad Mono: Makes GD.Convert take Variant.Type instead of int 2019-04-04 16:07:48 -04:00
qarmin 8460d0678c Small fixes to static analyzer bugs 2019-04-04 22:00:16 +02:00
Rémi Verschelde c2fb1c9f01 SCons: Fix OPUS_ARM_OPT flag applied for all android/iphone arches
The first 'if' always evaluated to true, as it evaluated values which are the default
ones for Android and iOS respectively, so even if one of them was overridden, the other
one would be true.

Fixes #27658.
2019-04-04 12:01:52 +02:00
Ignacio Etcheverry 0338e55a6e Fix memory leak introduced in bb6814a 2019-04-02 22:56:17 +02:00
marxin e7f22ebdcd Enable warnings=extra on clang and GCC testers.
And remove 2 warnings from warnings=extra.
2019-04-02 17:14:47 +02:00
Rémi Verschelde 18ee888541
Merge pull request #27430 from LeonardMeagher2/csg_get_mesh_data
Apply proper offset to CSGMesh brush materials and smooth flags
2019-04-01 17:15:30 +02:00
Rémi Verschelde e3bd84fa57
Merge pull request #27485 from Faless/io/encode_decode_safety_pr
Safer encode/decode variant.
2019-04-01 17:00:40 +02:00
Fabio Alessandrelli 393e62b98a Add object encoding param to serialization methods
Network peers get_var/put_var
File get_var/store_var
GDScript/Mono/VisualScript bytes2var/var2bytes
Add MultiplayerAPI.allow_object_decoding member which deprecates PacketPeer.allow_object_decoding.

Break ABI compatibaility (API compatibility for GDNative).
2019-04-01 15:53:19 +02:00
Rémi Verschelde 39c868171e doc: Bump version to 3.2 2019-04-01 12:33:56 +02:00
Rémi Verschelde 4ec384f9d4
Merge pull request #26097 from danielspaniol/25955-wrong-unreachable-warning-after-returning-from-matchs-wildcard-pattern
Fix: Wrong unreachable warning after returning from match's wildcard pattern #25955
2019-04-01 12:17:17 +02:00
volzhs a6300b454d Update freetype to 2.10.0 2019-03-31 23:20:36 +09:00
Ignacio Etcheverry c8aa85189a EditorHelp, makerst: Improve enum ref resolving and constant ref support
Enum reference resolving will now search in the @GlobalScope if no class is specified and the enum cannot be resolved in the current class.
Added support for constant references in EditorHelp, e.g.: [constant KEY_ENTER] or [constant Control.FOCUS_CLICK]. It supports enum constants (the enum name must not be included).
2019-03-29 23:40:31 +01:00
Ignacio Etcheverry bb6814aef0 C#: Add DynamicGodotObject class
Expands to Object.call, Object.set and Object.get for accessing members. This means it can also access members from scripts written in other languages, like GDScript.
2019-03-29 00:53:48 +01:00
Rémi Verschelde f27931f365
Merge pull request #27184 from karroffel/gdnative-api-gen-fixes
fix GDNative binding generation for object types
2019-03-27 17:07:18 +01:00
Rémi Verschelde 492153878f
Merge pull request #27128 from bojidar-bg/27111-gdscript-confounding-class
Fix GDScriptCompiler bugging out with identically-named inner class
2019-03-27 16:57:04 +01:00
Daniel Rakos 6dd65c0d67 KinematicBody performance and quality improvements
With this change finally one can use compound collisions (like those created
by Gridmaps) without serious performance issues. The previous KinematicBody
code for Bullet was practically doing a whole bunch of unnecessary
calculations. Gridmaps with fairly large octant sizes (in my case 32) can get
up to 10000x speedup with this change (literally!). I expect the FPS demo to
get a fair speedup as well.

List of fixes and improvements:

- Fixed a general bug in move_and_slide that affects both GodotPhysics and
  Bullet, where ray shapes would be ignored unless the stop_on_slope parameter
  is disabled. Not sure where that came from, but looking at the 2D physics
  code it was obvious there's a difference.
- Enabled the dynamic AABB tree that Bullet uses to allow broadphase collision
  tests against individual shapes of compound shapes. This is crucial to get
  good performance with Gridmaps and in general improves the performance
  whenever a KinematicBody collides with compound collision shapes.
- Added code to the broadphase collision detection code used by the Bullet
  module for KinematicBodies to also do broadphase on the sub-shapes of
  compound collision shapes. This is possible thanks to the dynamic AABB
  tree that was previously disabled and it's the change that provides the
  biggest performance boost.
- Now broadphase test is only done once per KinematicBody in Bullet instead of
  once per each of its shapes which was completely unnecessary.
- Fixed the way how the ray separation results are populated in Bullet which
  was completely broken previously, overwriting previous results and similar
  non-sense.
- Fixed ray shapes for good now. Previously the margin set in the editor was
  not respected at all, and the KinematicBody code for ray separation was
  complete bogus, thus all previous attempts to fix it were mislead.
- Fixed an obvious bug also in GodotPhysics where an out-of-bounds index was
  used in the ray result array.

There are a whole set of other problems with the KinematicBody code of Bullet
which cost performance and may cause unexpected behavior, but those are not
addressed in this change (need to keep it "simple").

Not sure whether this fixes any outstanding Github issues but I wouldn't be
surprised.
2019-03-27 00:39:47 +01:00
Leonard 209c2d2c80 Apply proper offset to CSGMesh material and smooth group 2019-03-25 21:27:55 -07:00
Thomas Herzog 81292665d5
Merge pull request #27320 from karroffel/gdnative-terminate-error-print
[GDNative] various NativeScript fixes around editor functionality
2019-03-25 08:07:59 +01:00
Ignacio Roldán Etcheverry e453934824
Merge pull request #27359 from neikeq/who-reads-docs-anyway
C#: Bindings generator now translates BBCode docs to XML comments
2019-03-23 20:49:59 +01:00
Ignacio Etcheverry 1ad16b3d4a C#: Bindings generator now translates BBCode docs to XML comments 2019-03-23 20:39:55 +01:00
Vivatchai Kaveeta f0562a5ef6 Fix import grayscale EXR
Fix #27299
2019-03-22 23:31:25 +07:00
thomas.herzog 5fff7f741a [GDNative] fix NativeScript leak in editor 2019-03-22 12:54:19 +01:00
thomas.herzog 0e5b2b16ed [GDNative] remove spam at editor unfocus when using NativeScript 2019-03-22 11:46:34 +01:00
Ignacio Roldán Etcheverry 96abb695f2
Merge pull request #27270 from shartte/fix-generics-parsing
Fix parsing of generic type declarations in C# source files
2019-03-20 18:34:28 +01:00
Sebastian Hartte 7440295ad1 Add support for new MSBuild directory naming introduced in VS 2019. 2019-03-20 17:57:20 +01:00
Sebastian Hartte 34366bc27f Fix parsing of generic type declarations in C# source files. 2019-03-20 17:23:11 +01:00
PouleyKetchoupp 8346d90c5e Properly handle different border widths in rounded corner aa
Note: removed (unused and not implemented) support for multiple border colors
2019-03-19 11:51:32 +01:00
karroffel 197d642014 fix GDNative binding generation for object types 2019-03-17 21:31:26 +01:00
Timo Schwarzer 7a0dfc04aa
Allow whitespaces in warning-ignore comments 2019-03-17 18:42:59 +01:00
Bojidar Marinov 466a76ac2c
Fix GDScriptCompiler bugging out with identically-named inner class
Fixes #27111
2019-03-16 20:41:16 +02:00
Rémi Verschelde 6f404efd9a
Merge pull request #26309 from bojidar-bg/21536-resize-gridmap-previews
Add search box and size slider to GridMap (similar to TileMap's)
2019-03-16 11:15:41 -07:00
Rémi Verschelde 43f147b5aa
Merge pull request #26308 from bojidar-bg/11722-meshlibrary-transforms
Consider StaticBody and NavMesh position when converting to a MeshLibrary
2019-03-16 11:15:15 -07:00
Bojidar Marinov b64f9f03f8
Fix duplicated lines in GDScript bytecode
Fixes #26789
2019-03-14 18:38:07 +02:00
Rémi Verschelde 3b5a0f34d4
Merge pull request #27014 from neikeq/csharp-update-exports-only-in-editor
C#: Update exports only in the editor
2019-03-13 20:07:06 +01:00
Ignacio Etcheverry 5e354162f1 C#: Update exports only in the editor 2019-03-13 16:26:47 +01:00
Rémi Verschelde 4326fd5a7e Mono: Update welcome message with current state 2019-03-12 19:35:02 +01:00
Rémi Verschelde 6d86450a83
Merge pull request #26941 from JFonS/add_gizmos_priority
Add priority to gizmos and fix small issues
2019-03-12 01:19:39 +01:00
JFonS 2658e5d03d Add priority to gizmos and fix small issues
User defined gizmos will haave higher preference than editor gizmos by
default. Also fixed some inconsistencies in the gizmos menu when using
custom gizmos.
2019-03-12 00:30:50 +01:00
Anish bd22b1cbe6 Fixes segfault on opening incompatible files.
If a file cannot be opened by the plugin connected, the engine
would crash. This has been fixed by quitting the open_file() method
early.
2019-03-11 16:41:30 +05:30
Ignacio Etcheverry e9e7aab8eb Mono: Some assembly referencing changes and cleanup
Apparently we don't need to call mono_debug_close_image ourselves and we can call mono_image_close right away as it's not our duty to keep that reference.
2019-03-10 18:55:31 +01:00
Ignacio Etcheverry 4299332ecc Mono: Fix assemblies path String incorrectly constructed from utf8
Also fixed a wrong ifdef that was causing Mono to never be initialized if mscorlib was not found (which was the case with the utf8 assemblies path bug this commit fixes).
This condition was meant for exported projects only, not for the editor only.
2019-03-09 23:00:03 +01:00
karroffel 9786b51601 [GDNative] fix crash at shutdown when using singleton libraries and NativeScript
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.
2019-03-09 18:01:08 +01:00
Hugo Locurcio 5a574a4f29
Fix typo in GDScript narrowing conversion warning message
This closes #26790.
2019-03-08 14:28:33 +01:00
Ignacio Roldán Etcheverry 65487ed4ed
Merge pull request #26746 from shartte/godot-trace-listener
Add a custom TraceListener on Startup for Mono
2019-03-08 07:05:41 +01:00
Ignacio Etcheverry a4825c2f8b Fix CSharpInstance::set not working with base classes 2019-03-08 00:12:19 +01:00
Rémi Verschelde 6ee3002237
Merge pull request #26773 from neikeq/issue-26628
Mono: Fix crash with exported field of custom Reference derived type
2019-03-07 22:54:03 +01:00
Ignacio Etcheverry c5f8b0960a Mono: Fix crash with exported field of custom Reference derived type 2019-03-07 22:38:31 +01:00
Ignacio Etcheverry 17a55861f1
Merge pull request #26770 from neikeq/issue-26675
Mono: Partially implement some Godot debug api functions
2019-03-07 22:00:59 +01:00
Ignacio Etcheverry 47407ba2df
Merge pull request #26761 from Chaosus/fix_mono_wrap
Fix division by zero at wrap functions in mono
2019-03-07 21:34:03 +01:00
Ignacio Etcheverry 8e2e0795bb Mono: Partially implement some Godot debug api functions
Debug breaks sent with debug_break and debug_break_parse should display correctly in the Godot debugger now.
2019-03-07 21:02:57 +01:00
Sebastian Hartte 37d448fca7 Added a Godot TraceListener, which is automatically installed on startup. Fixes that Debug/Trace Assertions are simply swallowed by Godot. 2019-03-07 21:00:19 +01:00
Chaosus 752055ccba Fix division by zero at wrap functions in mono 2019-03-07 22:57:12 +03:00
Ignacio Etcheverry 4c0b0a6bdd
Merge pull request #26765 from neikeq/issue-25959
Mono: Fix crash when re-using script binding after domain reloading
2019-03-07 20:50:37 +01:00
Ignacio Etcheverry e904f814c8 Mono: Fix crash when re-using script binding after domain reloading 2019-03-07 19:55:40 +01:00
Sebastian Hartte f8a6a6c8a2 Update scripts exports even when normal script instances are created to better support tool scripts with exported variables. 2019-03-07 18:52:43 +01:00
Rémi Verschelde 8f5d9b6391 doc: Sync classref with current source 2019-03-07 10:54:42 +01:00
Anish 978c2a604a Fixed crash on loading GDNative videos.
Fixed issue with loading a resource supported by the gdnative videodecoders
that does not exist.
2019-03-06 22:56:36 +01:00
Rémi Verschelde 64923ff277
Merge pull request #26713 from neikeq/print-msbuild-command
Print MSBuild command if also printing output
2019-03-06 18:22:57 +01:00
Rémi Verschelde c67e9a4dd4
Merge pull request #26665 from bojidar-bg/19704-singleton-constants
Fix enums coming from other classes without preload
2019-03-06 18:20:48 +01:00
Ignacio Etcheverry 0b68677112 Print MSBuild command if also printing output 2019-03-06 17:10:14 +01:00
Ignacio Etcheverry db7928849b
Merge pull request #26712 from neikeq/issue-26681
Mono: Make 'Build' button generate solution if it doesn't exist
2019-03-06 16:54:51 +01:00
Ignacio Etcheverry c97db904a0 Mono: Make 'Build' button generate solution if it doesn't exist 2019-03-06 16:36:53 +01:00
Rémi Verschelde 97774f6f69
Merge pull request #26688 from Faless/net/lws_3.1
Update libwebsockets to 3.1, fix IPv6 issues
2019-03-06 14:47:37 +01:00
Fabio Alessandrelli 90210c4862 Update libwebsockets to 3.1 (plus UWP patch) 2019-03-06 02:02:52 +01:00
Ignacio Etcheverry 6492de800f
Merge pull request #26661 from neikeq/issue-17601
Mono: Fix array field being assigned MonoArray** instead of MonoArray*
2019-03-05 23:03:25 +01:00
Bojidar Marinov 9637e42705
Fix enums coming from other classes without preload
Fix #19704, fix #26001
2019-03-05 23:19:02 +02:00
Ignacio Etcheverry c6ac7333a6 Mono: Fix array field being assigned MonoArray** instead of MonoArray*
Fixes #17601
2019-03-05 21:46:55 +01:00
2017A7PS0002G a3ecfb7a82 Added get_noise_1d 2019-03-05 20:58:58 +05:30
Rémi Verschelde 8366811352
Merge pull request #26608 from dragmz/fix22231
Calculate inputs count from arg types instead of names
2019-03-04 21:52:47 +01:00
Marcin Zawiejski 0d35525f0b calculate inputs count from arg types instead of names 2019-03-04 21:39:17 +01:00
Rémi Verschelde d1ba3227c4
Merge pull request #26592 from clayjohn/noisetexture_strength
Changed default noisetexture strength
2019-03-04 20:48:56 +01:00
Rémi Verschelde e21a8f2922
Merge pull request #26604 from bojidar-bg/25889-vs-parameters-empty
Fix default values not being read correctly in VisualScript
2019-03-04 20:36:47 +01:00
Bojidar Marinov 4b3db1de3d
Fix default values not being read correctly in VisualScript
Fixes #25889
2019-03-04 20:41:50 +02:00
Rémi Verschelde 0a7de5472f
Merge pull request #26591 from neikeq/oi
Mono: Add option to print MSBuild output and improve out of sync error
2019-03-04 18:36:10 +01:00
clayjohn 30a88a5c08 changed default noisetexture strength 2019-03-04 07:59:08 -08:00
Ignacio Etcheverry 8877b07f4c Mono: Add option to print MSBuild output and improve out of sync error 2019-03-04 16:05:08 +01:00
Juan Linietsky b63c506ad8 Close file handles after use of new get_as_utf8_strings, fixes #26578 2019-03-04 09:53:02 -03:00
Ignacio Etcheverry 813d32499a
Merge pull request #26513 from cart/mono-log-profiler
Add mono log profiler support
2019-03-04 13:52:15 +01:00
Rémi Verschelde 93f6a065f8 libwebp: Sync with upstream 1.0.2 2019-03-04 13:13:33 +01:00
Rémi Verschelde 425ec6914c
Revert "Forbid implicit type conversion in GDScript" 2019-03-04 12:25:59 +01:00
Rémi Verschelde 49d82f245b
Merge pull request #26541 from clayjohn/noise_texture_scale
Added bump_strength to NoiseTexture
2019-03-04 10:49:53 +01:00
Rémi Verschelde 7889e9b7ca
Merge pull request #26562 from vnen/gdscript-no-implicit-cast
Forbid implicit type conversion in GDScript
2019-03-04 10:19:00 +01:00
George Marques 67fee40483
GDScript: Fix issue when detecting file class in inner class 2019-03-03 22:53:50 -03:00
George Marques d0b08342b8
GDScript: Forbid implicit type conversion
Since types are not present in release builds, this could cause issues
where a variable does not have the exact defined type.
2019-03-03 22:25:22 -03:00
George Marques b24cb92240
GDScript: Allow for iterator to be rededefined 2019-03-03 21:39:42 -03:00
Juan Linietsky a9fe834a8e
Merge pull request #26547 from vnen/gdscript-dependency-parse
Add a parse mode for GDScript which doesn't load dependencies
2019-03-03 18:00:12 -03:00
clayjohn 44b71a22ff added bump_strength to noisetexture 2019-03-03 12:33:44 -08:00
George Marques bda60bfa29
Add a dependency search mode for GDScript parser
- This mode avoids loading any other resource.
- Search for class_name now uses this mode, to avoid loading in the scan
thread.
- Implement get_dependencies() for GDScript loader, now exporting
dependencies only should include the preloaded resources.
2019-03-03 16:51:54 -03:00
George Marques 9db96d9f81
Merge pull request #26528 from bojidar-bg/26047-gdscript-object-argument
Allow parameters passed to GDScript functions to be nulled
2019-03-03 11:39:25 -03:00
George Marques bf2c6680ac
Merge pull request #26521 from bojidar-bg/25408-gdscript-constant-bug
Fix GDScript checking for assigning to a constant only in release
2019-03-03 11:31:27 -03:00
Bojidar Marinov f0efc7521e
Allow parameters passed to GDScript functions to be nulled
Previous version resulted in confusing (but actually right) errors about converting "from Object to Object", since CallError
does not include information about the actual types involved.
2019-03-03 15:24:06 +02:00
Bojidar Marinov f207b2fe0e
Fix GDScript checking for assigning to a constant only in release 2019-03-03 12:36:27 +02:00
Carter Anderson 839ed2d092 Add mono log profiler support 2019-03-02 23:32:03 -08:00
Rémi Verschelde 1807e0f135 SCons: Move platform-specific Opus config to its module 2019-03-02 10:30:25 +01:00
Juan Linietsky a73ca79402 Fix CSG crash, closes #26281 2019-03-01 13:36:21 -03:00
Ignacio Etcheverry 42c57eef13 C#: Fix parsing of class full name when the base has generics
Also we no longer ignore base classes with generics, since we don't really care about that.
2019-03-01 00:23:23 +01:00
Ignacio Etcheverry 22b41ab2fe Mono: Fail on script instance creation if constructor was not found
Previously this would result in NULL dereferencing. Now we fail with an error.
2019-02-28 23:22:46 +01:00
Ignacio Etcheverry 5a4475fce3 Mono: Make sure the generated RootNamespace is a valid identifier 2019-02-28 22:26:15 +01:00
Ignacio Etcheverry b69569415f
Merge pull request #26411 from neikeq/issue-26195
C#: Add Array.Resize(int) method
2019-02-28 18:53:14 +01:00
Ignacio Etcheverry 32cd8ba9bd C#: Add Array.Resize(int) method 2019-02-28 18:33:42 +01:00
Rémi Verschelde b09f3f93af opus: Better sync sources list with upstream buildsystem 2019-02-28 14:27:56 +01:00
Rémi Verschelde f2003b1a7e
Merge pull request #26034 from QbieShay/issue_25596
Inheriting from virtual class no longer causes the engine to crash.
2019-02-28 11:00:20 +01:00
QbieShay 8f22c2684f Inheriting from virtual class no longer causes the engine to crash, it prints an error instead.
Co-authored-by: Hein-Pieter van Braam <hp@tmm.cx>
2019-02-27 20:42:20 +01:00
Rémi Verschelde 372152220b
Merge pull request #26159 from marxin/fix-Wsuggest-attribute=format
Fix -Wsuggest-attribute=format warnings.
2019-02-27 09:23:26 +01:00
Rémi Verschelde 426a6fdc17
Merge pull request #26134 from marxin/fix-Wsign-compare
Fix -Wsign-compare warnings.
2019-02-27 09:22:47 +01:00
marxin e5f665c718 Fix -Wsign-compare warnings.
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +01:00
marxin aff84ec55d Fix -Wsuggest-attribute=format warnings. 2019-02-27 06:56:50 +01:00
Ignacio Etcheverry df7541d2f9
Merge pull request #26333 from neikeq/ayaya
Mono: Some editor usability improvements
2019-02-27 03:16:02 +01:00
Ignacio Etcheverry 3e0846e65b Mono: Some editor usability improvements
- Move "Mono" popup menu from the top right corner to `Projects -> Tools` as a submenu.
- Add "Build solution" button to the top right corner. Makes it more visible and quicker to access.
- Fix build list in the bottom panel unselect an item when clicking on empty space. Previously it would hide the issues panel but the item would remain selected, making it impossible to display the issues panel again if there was only one item.
2019-02-27 02:45:21 +01:00
Ignacio Etcheverry 823fb59e10 Remove problematic VS Code hint path on Windows 2019-02-27 02:43:53 +01:00
Rémi Verschelde 28a57c2c29
Merge pull request #26304 from bojidar-bg/26066-fix-exported-poolarray
Fix GDScript exports having the wrong type of default value by converting it
2019-02-27 00:16:02 +01:00
Juan Linietsky f669ebeeaf -Properly handle missing ETC support on export
-Added ability for resource importers to save metadata
-Added ability for resource importers to validate depending on project settings
2019-02-26 18:45:06 -03:00
Eric Rybicki c9de8a6e68 Fix "No loader found for resource: res://" spam when NativeScript script_class_name is not empty.
fixes #26275
2019-02-26 17:07:53 +01:00
Bojidar Marinov a9ac4c012c
Add search box and size slider to GridMap (similar to TileMap's)
Closes #21536
2019-02-26 16:17:59 +02:00
Bojidar Marinov 1a397a7878
Consider StaticBody and NavMesh position when converting to a MeshLibrary
Would have added mesh transform, but realized that will cause problems when moving the mesh around the scene for visualization purposes.

Closes #11722
2019-02-26 15:38:23 +02:00
Bojidar Marinov db7864c1fd
Fix GDScript exports having the wrong type of default value by converting it
Also, initialize elements of PoolArrays when resizing them in the editor.
Fixes #26066.
2019-02-26 14:58:39 +02:00
Fabio Alessandrelli f112f5785b Fixing C compatiblity for GDNative NET module
Also add net interfaces to gdnative_api.json
2019-02-24 21:23:23 +01:00
George Marques 755c690252
Merge pull request #25018 from AllanDaemon/#24895
Fix support for optional parameters in setters
2019-02-24 10:45:50 -03:00
Ignacio Etcheverry da3776a40a C#: Fix Vector2.AngleToPoint
Fixes #26209
2019-02-23 23:28:31 +01:00
Rémi Verschelde 07fbc34195
Merge pull request #26203 from neikeq/csharp-basis
C#: Basis fixes and cleanup
2019-02-23 20:53:03 +01:00
Ignacio Etcheverry 2c26e7f174 C#: Basis fixes and cleanup
Fix Basis operator[int]. Now it returns columns instead of rows.
Fix Transform2D.AfficeInverse() mutating rather than returning a new Transform2D.
2019-02-23 18:22:30 +01:00
Rémi Verschelde e22f6e9ace
Revert "Optimized area check" 2019-02-22 12:46:54 +01:00
Rémi Verschelde 0c7c800880
Merge pull request #26133 from YeldhamDev/ttr_undoredo_actions
Make translatable some undo/redo operations in the editor
2019-02-22 09:58:51 +01:00
Rémi Verschelde 726f31e992
Merge pull request #26132 from marxin/fix-Wignored-qualifiers
Fix warnings seen with -Wignored-qualifiers.
2019-02-22 09:55:27 +01:00
Rémi Verschelde c700d714bb
Merge pull request #26130 from karroffel/gdnative-dictionary-fix
added godot_dictionary_get_with_default to GDNative
2019-02-22 09:54:20 +01:00
Rémi Verschelde 60fe9321ac
Merge pull request #26099 from marxin/fix-Wtype-limits-warnings
Fix all -Wtype-limits warnings.
2019-02-22 09:44:59 +01:00
20kdc b1f5cee7d9 webm/theora/yuv2rgb: Fix YUV conversion issues and add BGRP WEBM handling. (Now clang-format friendly.)
This should fix the various issues with colours in Ogg Theora and WEBM playback.
(A reference project is attached to PR #26051, which this commit should be part of.)

This version of the commit, rather than moving x->RGBA handling into libsimplewebm, uses a colourspace field added to libsimplewebm by a PR there.
Thus, the commit that precedes this should be the synchronization & cleanup commit for that.

Also, this version is now clang-format friendly. I hope.
2019-02-21 22:33:43 +00:00
Juan Linietsky d13ac2a413 Request to use load when cyclic reference is found, closes #26119 2019-02-21 17:27:07 -03:00
Michael Alexsander Silva Dias 3ef8238c1c Make translatable some undo/redo operations in the editor 2019-02-21 16:41:01 -03:00
marxin c11e7ffd0e Fix warnings seen with -Wignored-qualifiers. 2019-02-21 20:24:29 +01:00
karroffel 56bb22c988 added godot_dictionary_get_with_default to GDNative
Recently, Dictionary::get() was introduced, which acts like a index
operator but allows the caller to specify a default value to return
instead of issuing an error.

This commit adds a new GDNative function that includes the default value.
2019-02-21 20:12:57 +01:00
marxin 7de7f0ef17 Fix all -Wtype-limits warnings. 2019-02-21 19:34:35 +01:00
Rémi Verschelde ced77db950
Merge pull request #26111 from AndreaCatania/areaopti
Optimized area check
2019-02-21 13:58:38 +01:00
Andrea Catania b1934cfd0d Optimized area check 2019-02-21 08:41:31 +01:00
Daniel Spaniol 79176decd5 Require return in all match branches
Before the parser only checked if the catch-all branch has a return in
order to determine if the entire match block has a return.

This code block was assumed to always return.

    match value:
        "test":
            print("test")
        _:
            return

Now as soon as one of the branches has no return, the entire match block
is marked to not have a return.
2019-02-20 21:38:11 +01:00
marxin 8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Rémi Verschelde 643af210b1
Merge pull request #26096 from Faless/net/enet_id_check
Add check to validate client IDs in ENet.
2019-02-20 17:49:12 +01:00
Rémi Verschelde 6d0ec870e3
Merge pull request #26090 from aqnuep/ray_shape_fix2
Fix RayShape collision jitter when used with a RigidBody
2019-02-20 17:28:31 +01:00
Fabio Alessandrelli dc583a6225 Add check to validate client IDs in ENet.
Server now checks that the ID received from the client is not already
used by someone else and is a valid ID (>=2)
2019-02-20 16:28:53 +01:00
Rémi Verschelde 1a36141481
Merge pull request #26048 from akien-mga/free-switch-for-everyone
GDScript: Remove unused `switch`, `case` and `do` CF keywords
2019-02-20 15:26:46 +01:00
Daniel Rakos 6587024207 Fix RayShape collision jitter when used with a RigidBody
Scaling the depth was the wrong solution for the KinematicBody jitter
because it causes jitter with RigidBody. Instead scale the margin that
is ignored to allow KinematicBody to still pick up the ray shape in the
kinematic test when the shape is just at margin distance from another
one. This solution does not cause jitter with either KinematicBody or
RigidBody.
2019-02-20 15:06:08 +01:00
Rémi Verschelde d35003d92a GDScript: Remove unused switch, case and do CF keywords
They had been reserved for future implementation, but we now have the
`match` CF keyword which does the same and more.

According to @reduz `do` was even added by mistake when copying from
the shader language parser, it was never intended to add support for
`do`... `while` loops, as the syntax would be awkward in GDScript,
and the added sugar is not worth it.

Fixes #25787.
2019-02-20 14:05:08 +01:00
Rémi Verschelde 7376cbdc94
Merge pull request #26072 from Faless/net/mbedtls_1.16
Update mbedtls to 2.16.0 (LTS release) + ubsan hack
2019-02-20 10:47:44 +01:00
Fabio Alessandrelli 2b8b738391 Small hack to avoid runtime error when using ubsan
mbedtls_ssl_read cannot be called with a NULL buffer even if len is 0,
as those are passed to memcpy and compilers doesn't like that.
Always pass a single byte (still len 0 so nothing is actually copied)
2019-02-20 01:49:47 +01:00
Ignacio Etcheverry 9421da57ad C#: Add 'Singleton' property to singleton wrapper class
This property returns an instance of the singleton.
The purpose of this is to allow using methods from the base class like 'Connect'.
Since all Godot singletons inherit Object, the type of the returned instance is Godot.Object.
2019-02-19 22:38:22 +01:00
Ignacio Etcheverry aa5b99821b
Merge pull request #26065 from neikeq/csharp-fix-gd-range
C#: Make GD.Range return IEnumerable instead of array
2019-02-19 19:27:37 +01:00
Ignacio Etcheverry 0826b79035 C#: Make GD.Range return IEnumerable instead of array
- Make NodePath and RID sealed classes.
- Renamed rand_range to RandRange.
2019-02-19 18:46:18 +01:00
Ignacio Etcheverry 1174d10e3c
Merge pull request #25890 from neikeq/issue-25818
Fix Godot.Reference marshalling from MonoObject* to Variant
2019-02-19 15:05:05 +01:00
Rémi Verschelde 2f9b7e6b63
Merge pull request #25788 from aqnuep/rayshape_fix
Fix RayShape collision when used with a KinematicBody (Bullet Physics)
2019-02-19 14:42:04 +01:00
Daniel Rakos f7511511b1 Fix RayShape collision when used with a KinematicBody (Bullet Physics)
- Added code handling non-compound collision to recover_from_penetration_ray()
  which is now needed due to the optimization avoiding the use of compound
  collisions when only a single collision shape is used.
- Removed arbitrary margin applied in the collision algorithm of RayShapes
  which causes jittered movement. For lack of a better replacement and for
  lack of any explanation on why it has been introduced, it's now using the
  shape's margin property instead which is small enough to not show visible
  jitter.
- Tried to get rid of inconsistent uses of the collision margin.
- Removed hack from GodotDeepPenetrationContactResultCallback::addContactPoint
  for RayShape collision as it's no longer needed as the collision algorithm
  of RayShapes correctly calculates the contact normal for a while now.

Fixes #25227.
2019-02-19 11:16:05 +01:00
Ignacio Etcheverry 29fd942dd6
Merge pull request #26039 from neikeq/throw_objectdisposedexception
C#: Throw ObjectDisposedException from disposed wrapper classes
2019-02-19 01:02:20 +01:00
Ignacio Etcheverry e1f01bf2ac
Merge pull request #26038 from neikeq/csharp_rand_funcs
C#: Add random functions to GD class
2019-02-19 00:52:01 +01:00
Ignacio Etcheverry efd5d4bcf9 C#: Throw ObjectDisposedException from disposed wrapper classes 2019-02-19 00:37:15 +01:00
Ignacio Etcheverry ce67808818 C#: Add random functions to GD class 2019-02-19 00:35:19 +01:00
marxin 155cbe0b37 Fix warnings seen with warnings=all and recent GCC 8.2. 2019-02-18 21:54:31 +01:00
RomanAkberov 041a7bbeba C#: fix Quat.Equals. 2019-02-19 01:01:05 +07:00
Rémi Verschelde 049bb75f9e
Merge pull request #26014 from AndreaCatania/bugfix
Fixed area collision report with concave
2019-02-18 15:24:09 +01:00
Andrea Catania 66420aea9c Fixed area collision report with concave 2019-02-18 14:15:27 +01:00
Rémi Verschelde 98e4bda9f9
Merge pull request #26007 from marxin/fix-23015-cast
Make direct casting among Error and godot_error enums (#23015).
2019-02-18 13:51:16 +01:00
Rémi Verschelde f023e40f6e
Merge pull request #26011 from AndreaCatania/bugfix
Added support to scale areas, fixes #23448
2019-02-18 13:21:02 +01:00
Andrea Catania 90d05cbe30 Added support to scale areas 2019-02-18 12:57:55 +01:00
marxin 66a43898d4 Make direct casting among Error and godot_error enums (#23015). 2019-02-18 10:26:22 +01:00
Rémi Verschelde 1ffd1bc8f3 doc: Sync classref with current source 2019-02-18 09:35:29 +01:00
Rémi Verschelde fd60724c3d
Merge pull request #25715 from hpvb/fix-25598
Add a maximum recusion depth to _guess_expression_type
2019-02-16 14:39:57 +01:00
Ignacio Etcheverry f5477ee36f
Merge pull request #25917 from neikeq/zz
Mono: Get rid of irrelevant error and fix export template build errors
2019-02-15 20:08:41 +01:00
Ignacio Etcheverry a8dfe9ff7f Don't print 'Cannot find Mono in the registry' if bundled with Godot
Closes #24753
2019-02-15 19:52:32 +01:00
Ignacio Etcheverry d17ba9a140 Mono: Fix export template build errors
Fixes #25903
2019-02-15 19:52:22 +01:00
Ignacio Etcheverry b41a793592 Fix Godot.Reference marshalling from MonoObject* to Variant
Need to cast Ref<T> to Variant instead of constructing Variant from Object*, otherwise the Variant won't hold a reference.
2019-02-14 22:54:15 +01:00
Rémi Verschelde 89ca15693e
Merge pull request #25866 from neikeq/issue-25121
Fix exported property values being lost if base GDScript fails to parse
2019-02-14 09:21:19 +01:00
Ignacio Etcheverry 2f8d1a321a Fix exported property values being lost if base GDScript fails to parse 2019-02-14 02:36:19 +01:00
Rémi Verschelde 5fc86026ca Fix typos with codespell
Using codespell 1.14.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
Rémi Verschelde 55ca2a7c88
Merge pull request #25821 from akien-mga/sync-class-and-filenames
Ensure classes match their header filename
2019-02-13 08:49:39 +01:00
Aaron Franke f97eb6d881 [Mono] Fix Transform2D rotation and scale 2019-02-12 17:59:29 -05:00
Rémi Verschelde 322fad70bd Fix copyright year in VideoStreamGDNative 2019-02-12 23:05:30 +01:00
Rémi Verschelde fe7e11e008 Modules: Ensure classes match their header filename
Renamed:
- `modules/mono/mono_gd/gd_mono_class_member.h` -> `i_mono_class_member.h`
- `modules/upnp/upnpdevice.h` -> `upnp_device.h`
- `modules/websocket/websocket_multiplayer.h` -> `websocket_multiplayer_peer.h`
2019-02-12 22:59:56 +01:00
Rémi Verschelde c5dcbeb160 Scene: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `scene/2d/navigation2d.h` -> `navigation_2d.h`
- `scene/2d/screen_button.h` -> `touch_screen_button.h`
- `scene/3d/scenario_fx.h` -> `world_environment.h`
- `scene/audio/audio_player.h` -> `audio_stream_player.h`
- `scene/resources/bit_mask.h` -> `bit_map.h`
- `scene/resources/color_ramp.h` -> `gradient.h`
- `scene/resources/shape_line_2d.h` -> `line_shape_2d.h`
- `scene/resources/scene_format_text.h` -> `resource_format_text.h`
- `scene/resources/sky_box.h` -> `sky.h`

Dropped:
- `scene/resources/bounds.h`
2019-02-12 17:21:48 +01:00
Rémi Verschelde c4835c4345
Merge pull request #25721 from neikeq/ww
Use script instance binding for objects constructed from C#
2019-02-12 15:29:25 +01:00
Rémi Verschelde 75dae1b9a9 Drivers, main, servers: Ensure classes match their header filename
Renamed:
- `drivers/alsamidi/alsa_midi.h` -> `midi_driver_alsamidi.h`
  (same for `coremidi` and `winmidi`)
- `main/timer_sync.h` -> `main_timer_sync.h`
- `servers/visual/visual_server_global.h` -> `visual_server_globals.h`
2019-02-12 14:39:47 +01:00
Rémi Verschelde b7cc2bb1e2 Core: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`

Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Rémi Verschelde 13c50e8aa5
Merge pull request #25481 from hpvb/fix-ubsan-asan-reports
Fix many asan and ubsan reported issues
2019-02-12 12:21:01 +01:00
Rémi Verschelde e40395669c
Merge pull request #25550 from DualMatrix/fix-25357
Fixed Null appearing inside export variables with type hints and no default value
2019-02-12 12:01:22 +01:00