Commit Graph

3040 Commits

Author SHA1 Message Date
Rémi Verschelde 75f2575f28
Merge pull request #30552 from kawa-yoiko/match-unreachable
Fix unreachable code detection in match statements
2019-07-15 08:13:57 +02:00
Ignacio Roldán Etcheverry 7f3490c5e1
Merge pull request #30584 from neikeq/yatta
Mono: Better handling of missing/outdated API assemblies
2019-07-14 19:39:26 +02:00
Ignacio Etcheverry e59ac40712 Mono: Better handling of missing/outdated API assemblies
Remove the old API assembly invalidation system. It's pretty simple since now the editor has a hard dependency on the API assemblies and SCons takes care of prebuilding them.
If we fail to load a project's API assembly because it was either missing or outdated, we just copy the prebuilt assemblies to the project and try again. We also do this when creating the solution and before building, just in case the user removed them from the disk after they were loaded.
This way the API assemblies will be always loaded successfully. If they are not, it's a bug.

Also fixed:

- EditorDef was behaving like GlobalDef in GodotTools.
- NullReferenceException because we can't serialize System.WeakReference yet. Use Godot.WeakRef in the mean time.
2019-07-14 19:17:07 +02:00
Shiqing 206d515783 Fix unreachable code detection in match statements 2019-07-13 19:31:49 +08:00
Rémi Verschelde eb98c5e047
Merge pull request #30129 from fire/xatlas_update
[WIP] Update xatlas to latest upstream commit (1efe581).
2019-07-11 19:44:55 +02:00
unknown f236b460e5 Some small fixes to warnings in python scripts 2019-07-11 22:26:04 +05:30
Ignacio Etcheverry 4061e132ff Mono: Add old TTRs to GodotTools 2019-07-11 13:59:06 +02:00
Rémi Verschelde 518e23424e pcre2: Update to upstream version 10.33 2019-07-11 10:35:39 +02:00
Ignacio Roldán Etcheverry 2c6daf73f3
Merge pull request #30502 from neikeq/chotto-matte-kudasai
Mono: Fix Api HintPath and update old game projects
2019-07-10 22:36:06 +02:00
Ignacio Roldán Etcheverry 1700ab9bc6
Merge pull request #30501 from neikeq/dispose-godotsharpexport
Mono: Fix null dereference in EditorExportPlatformAndroid
2019-07-10 22:35:54 +02:00
Ignacio Etcheverry 9eb0729a05 Mono: Fix Api HintPath and update old game projects
Fixed Api assembly references with more than one HintPath.
Also made the editor update old C# projects use the new Api assembly HintPaths.
2019-07-10 22:00:31 +02:00
Ignacio Etcheverry 2a8294ff24 Mono: Fix null dereference in EditorExportPlatformAndroid
We need to dispose the GodotSharpExport export plugin before the editor destroys EditorSettings. Otherwise, if the GC disposes it at a later time, EditorExportPlatformAndroid will be freed after EditorSettings already was, and its device polling thread will try to access the EditorSettings singleton, resulting in null dereferencing.
2019-07-10 21:51:47 +02:00
Ignacio Roldán Etcheverry c3da4f854d
Merge pull request #30486 from neikeq/fix-indexoutofbounds-msbuildfinder
Fix IndexOutOfBounds in FindMsBuildToolsPathOnWindows
2019-07-10 21:43:17 +02:00
Rémi Verschelde 34d7484039
Merge pull request #30455 from qarmin/const_reference
Pass by reference to const
2019-07-10 15:43:15 +02:00
Ignacio Roldán Etcheverry 8b778f6234
Merge pull request #30489 from neikeq/fix-nullexc-on-gengameproj
Mono: Fix null exception in GenerateGameProject
2019-07-10 15:40:25 +02:00
Ignacio Etcheverry caf20492cf Mono: Fix null exception in GenerateGameProject
Also fix pdb files for GodotTools.*.dll assemblies not being copied to the output directory.
2019-07-10 15:03:05 +02:00
Ignacio Roldán Etcheverry 63c4d5af72
Merge pull request #30485 from neikeq/remove-frameworkpathoverride-from-scons
SCons no longer passes FrameworkPathOverride to MSBuild
2019-07-10 13:35:40 +02:00
Ignacio Etcheverry ace0c6ce38 Fix IndexOutOfBounds in FindMsBuildToolsPathOnWindows 2019-07-10 13:30:03 +02:00
Ignacio Etcheverry c0a4f12fcc SCons no longer passes FrameworkPathOverride to MSBuild 2019-07-10 13:19:52 +02:00
Ignacio Etcheverry 2da83a278b Mono: Add missing GodotTools.sln 2019-07-10 12:30:12 +02:00
qarmin 01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
K. S. Ernest (iFire) Lee d81d29dcbf Update xatlas to b7d7bb. 2019-07-09 15:24:10 -07:00
Ignacio Etcheverry d3f48f88bb Fix EditorNavigationMeshGenerator registered in Core API
Also added an option to output a json file with all the ClassDB registered classes and its members. This can be used to compare the API of two different builds by a simple diff.
2019-07-09 23:33:29 +02:00
Rémi Verschelde d2e620b8fc
Merge pull request #30463 from neikeq/fix-search-dirs
Fix export templates ignoring assemblies in 'res://.mono/assemblies'
2019-07-09 21:59:32 +02:00
Ignacio Etcheverry 4af03e52bd Make SCons check for System MSBuild before Mono's 2019-07-09 16:49:06 +02:00
Ignacio Etcheverry df6d1656fe Fix export templates ignoring assemblies in 'res://.mono/assemblies' 2019-07-09 16:49:02 +02:00
Rémi Verschelde 2fd902a08f
Merge pull request #30438 from Calinou/use-color-constructors
Use base `Color()` constructors instead of `Color::html()`
2019-07-09 08:30:10 +02:00
Rémi Verschelde dcffa0ee64
Merge pull request #30434 from Faless/ws/wslay_fix_handshake_break
Fix WebSocketClient consuming data during hanshake
2019-07-09 08:28:01 +02:00
Rémi Verschelde 29ca79bd68
Merge pull request #30428 from neikeq/gitcheckout-b
Misc Mono Fixes
2019-07-09 08:26:48 +02:00
Hugo Locurcio 28d3a6051c
Use base `Color()` constructors instead of `Color::html()`
This results in slightly smaller binaries (-17 KB for an editor binary)
as no strings need to be allocated.
2019-07-08 21:17:10 +02:00
Fabio Alessandrelli 3e305ea036 Fix WebSocketClient consuming data during hanshake
Was missing a break of the while loop on connection.
This potentially caused early data frames to be trashed.
2019-07-08 19:24:27 +02:00
Ignacio Etcheverry 069af23bdb Mono: Fix build errors with tools=no 2019-07-08 18:07:20 +02:00
Ignacio Etcheverry dd22cc7527 C#: Fix some crashes during assemblies reloading 2019-07-08 18:07:20 +02:00
Ignacio Etcheverry aa3b8f7dbb Fix Godot.Object.ToString() infinite recursion
Should not be using Variant to String conversion as that would call ToString() again
2019-07-08 18:07:20 +02:00
Ignacio Etcheverry 5ed3d34cd9 Fix --generate-mono-glue bug when directory doesn't exist
DirAccess::get_full_path(path) only works if the path exists. Implement our own abspath function.
2019-07-08 18:07:15 +02:00
Ignacio Etcheverry 2c83255013 Fix C# bindings detection of abstract classes
ClassDB::can_instance was changed recently breaking our code, as the editor is not yet initialized. Check ClassInfo::creation_func directly.
2019-07-08 15:13:57 +02:00
Ignacio Etcheverry b0cbf4e2b2 Fix InvalidCastException when loading script metadata
Old value wasn't string so we have to keep that in mind
2019-07-08 15:12:04 +02:00
Rémi Verschelde 9da5fdc955
Merge pull request #30419 from Faless/ws/wslay_server_proto
(Re-)Implement subprotocols in websocket server.
2019-07-08 08:18:00 +02:00
Rémi Verschelde af80182016
Merge pull request #30407 from qarmin/small_fixess
Fixes minor issues found by static analyzer
2019-07-08 08:16:50 +02:00
Fabio Alessandrelli 11452dcf91 (Re-)Implement subprotocols in websocket server. 2019-07-08 07:48:26 +02:00
qarmin 9a77d748c0 Fixes minor issues found by static analyzer 2019-07-07 23:08:51 +02:00
Remi Rampin ddfd67401f DOC: Fix spelling
See also https://github.com/godotengine/godot-docs/pull/2595
2019-07-06 16:54:01 -04:00
Rémi Verschelde ba211bd58c
Merge pull request #30352 from bojidar-bg/28727-enum-value-check
Fix parsing of enums allowing for juxtaposed identifiers
2019-07-06 20:28:53 +02:00
Ibrahn Sahir 4e4697b1c4 Added release function to PoolVector::Access.
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
2019-07-06 12:04:27 +01:00
Bojidar Marinov c43e050145
Fix parsing of enums allowing for juxtaposed identifiers
Fixes #28727
2019-07-05 21:40:40 +03:00
Rémi Verschelde f104fab83d
Merge pull request #30334 from Calinou/improve-csg-gizmo-drawing
Improve the CSG shape gizmo drawing
2019-07-05 10:54:29 +02:00
Rémi Verschelde 6e9cb44004
Merge pull request #30282 from neikeq/editor_in_cs_equals_win
Re-write mono module editor code in C#
2019-07-05 10:29:19 +02:00
Rémi Verschelde a149e412f7
Merge pull request #24086 from RandomShaper/bundle-pck-to-executable
Enhance game export
2019-07-05 10:28:29 +02:00
Ignacio Etcheverry aa9908e4f6 Script API methods must return Ref<T> instead of Reference*
ptrcall assumes methods that return a Reference type do so with Ref<T>. Returning Reference* from a method exposed to the scripting API completely breaks ptrcalls to this method (it can be quite hard to debug!).
2019-07-05 09:38:28 +02:00
Ignacio Etcheverry 270af6fa08 Re-write mono module editor code in C#
Make the build system automatically build the C# Api assemblies to be shipped with the editor.
Make the editor, editor player and debug export templates use Api assemblies built with debug symbols.
Always run MSBuild to build the editor tools and Api assemblies when building Godot.
Several bugs fixed related to assembly hot reloading and restoring state.
Fix StringExtensions internal calls not being registered correctly, resulting in MissingMethodException.
2019-07-05 09:38:23 +02:00