Dan Kramer
097d1c9383
add suggested fix
2019-12-21 13:26:29 -05:00
Rémi Verschelde
a10449bbbc
Merge pull request #34514 from neikeq/remove-dep-on-mono-posix
...
Mono/C#: Remove GodotTools dependency on the Mono.Posix assembly
2019-12-21 17:07:18 +01:00
Ignacio Etcheverry
5a3ccf4f14
Mono/C#: Remove GodotTools dependency on the Mono.Posix assembly
...
MSBuild on Windows uses the system .NET Framework BCL instead of Mono's. Because
of this, it may not be able to find the Mono.Posix assembly, so it's better
not to depend on it. We needed Mono.Posix to call Syscall.access, so we can
replace this with an internal call that does the same in C++.
2019-12-21 15:55:45 +01:00
Rémi Verschelde
2a4c528d06
Merge pull request #34465 from neikeq/no-hardcode-debugger-wait
...
Mono/C#: Remove hard-coded debugger wait at initialization
2019-12-19 21:27:59 +01:00
Ignacio Etcheverry
f3c6c63b94
Mono/C#: Remove hard-coded debugger wait at initialization
...
Up until now debug builds would always wait up to 500 ms during initialization
to give time for debuggers to attach to the game.
We no longer want this as it increases startup time unnecesarily.
The way forward is to setup the debugger agent as client instead of server.
This way it's the game that connect to the debugger, not the other way around.
If server mode is still desired, suspend=y can be used to indefinitely wait
for the debugger to attach. This all can be specified with the environment
variable 'GODOT_MONO_DEBUGGER_AGENT' when launching the game.
2019-12-19 17:07:20 +01:00
Ignacio Etcheverry
98dc07f25f
Mono/C#: Fix Variant -> MonoString* when type is Variant:NIL
...
`Variant::operator String()` returns "Null" if the type is `Variant:NIL`.
We must consider that and return a null `MonoString*` instead when marshalling.
This was also causing a "Null" error to be displayed when exporting a game
because null string members would be set to "Null" during hot-reload.
2019-12-19 16:51:32 +01:00
Rémi Verschelde
1c6b9bfdff
Mono: Copy native and btls libs on macOS
2019-12-18 08:39:37 +01:00
Ignacio Etcheverry
20d7013c60
Mono/C#: Fix project export and fix FindLast/GetFile regression
...
d09193b08a
introduced a regression in
StringExtensions.FindLast. StringExtensions.GetFile was also affected as it
relies on FindLast. This in turn broke the project exporter as it uses GetFile.
The cause of the regression is that now FindLast is calling LastIndexOf
with 'startIndex: 0'. This should be 'startIndex: str.Length - 1' instead.
Also fixed another regression in the project exporter:
de7c2ad21b
moved 'GodotTools/GodotSharpExport.cs'
to 'GodotTools/Export/ExportPlugin.cs' and in doing so accidently reverted
the changes from commit e439581198
.
2019-12-17 13:06:41 +01:00
Rémi Verschelde
c3ea4ea9b7
Merge pull request #34382 from van800/profiler
...
Allow attaching any external profiler, including JetBrains dotTrace
2019-12-16 22:00:36 +01:00
Ivan Shakhov
7c64779516
Allow attaching any external profiler, including JetBrains dotTrace
2019-12-16 20:34:30 +01:00
Rémi Verschelde
a866028a7a
Mono: Enable threads suspend workaround on Windows
...
This appears to be necessary for current official builds cross-compiled
with MinGW from Linux, using Mono 6.6.0.160.
Follow-up to #31784 , see #29812 for details.
2019-12-16 15:40:26 +01:00
Rémi Verschelde
12ee35737f
Merge pull request #34334 from neikeq/issue-33503
...
Mono/C#: Fix class parser bug with 'where T : struct'
2019-12-13 20:13:28 +01:00
Ignacio Etcheverry
f2a2293709
Mono/C#: Fix class parser incorrectly handling nested namespaces
...
It would incorrectly error thinking the nested namespace is being declared inside a struct/class. This was because of an incorrect nesting level being used for classes and structs.
2019-12-13 19:55:32 +01:00
Ignacio Etcheverry
c1ab956dd0
Mono/C#: Fix class parser bug with 'where T : struct'
...
The struct decl parsing was outdated. Make both struct decl and class declparsing share the same code.
2019-12-13 19:50:42 +01:00
Rémi Verschelde
9f68626fb2
doc: Sync classref with current source
...
Also apply clang-format.
2019-12-13 10:41:06 +01:00
Rémi Verschelde
d39284a65f
Merge pull request #34295 from aaronfranke/potato-knishes
...
[Mono] Fix string Find methods having reversed case sensitivity
2019-12-13 08:47:26 +01:00
Aaron Franke
d09193b08a
Fix string Find methods having reversed case sensitivity
2019-12-12 02:21:16 -05:00
Aaron Franke
5771f9959c
Mono formatting
...
No space for casting, add spaces inside braces, 4 space indentation, remove trailing indentation, remove BOM.
2019-12-11 16:32:47 -05:00
Rémi Verschelde
cd9d513285
Merge pull request #34181 from van800/rider
...
Support Rider as external editor for Godot mono version
2019-12-11 09:20:31 +01:00
Ivan Shakhov
8fbc9d33fd
Support Rider as External Editor
2019-12-11 08:39:04 +01:00
Jonas
11258db001
Fix missing null checks in Mono Binding of GD
...
The print methods of mono binding was missing null checks for the params
2019-12-06 11:56:50 +01:00
Ignacio Roldán Etcheverry
6544a0e908
Merge pull request #34018 from dsge/show-template-directory-path-in-error-message
...
Make sure to include the path in the "Data template directory not found" error message
2019-12-05 14:17:23 +01:00
Ignacio Etcheverry
066ae9d83b
Mono/C#: Several android fixes
...
- Added correct config file for android dllmaps.
- Fix __Internal DllImports with a dlopen fallback.
- Add missing P/Invoke functions and internal calls expected by the monodroid BCL and our custom version of the 'Android.Runtime.AndroidEnvironment' class (this last one can be found in the godot-mono-builds repo).
- Make sure to set 'btls' instead of 'legacy' as the default TLS provider on Android.
2019-12-04 19:03:42 +01:00
Ignacio Etcheverry
3797f19926
C#: Add Duplicate method to the Array and Dictionary bindings
2019-12-04 15:22:30 +01:00
dsge
81cae314b4
Make sure to include the path in the "Data template directory not found" error message
2019-11-30 15:44:18 +01:00
Rémi Verschelde
fa0e682027
Merge pull request #33982 from neikeq/issue-29349
...
Mono/C#: Add option to export assemblies outside of PCK
2019-11-29 11:37:18 +01:00
Ignacio Etcheverry
85d8c42763
Mono/C#: Fix crash on exported games that don't use C#
2019-11-29 01:35:46 +01:00
Ignacio Etcheverry
66de28eda8
Mono/C#: Add option to export assemblies outside of PCK
...
When using this options, assemblies will be saved in the Assemblies folder of the data directory: 'data_AppName/Assemblies/'.
2019-11-29 00:36:05 +01:00
Rémi Verschelde
636bc5c32f
Merge pull request #33828 from neikeq/貴様
...
Mono/C#: Prevent SCons from building API solutions in parallel
2019-11-23 11:24:48 +01:00
Ignacio Etcheverry
ebdd2bc474
Mono/C#: Prevent SCons from building API solutions in parallel
2019-11-22 23:42:24 +01:00
Rémi Verschelde
c41c24562d
Style: Add missing copyright headers
2019-11-22 08:37:09 +01:00
Ignacio Roldán Etcheverry
63b321dbbb
Merge pull request #33791 from neikeq/issue-33761
...
C#: Fix PathWhich on Windows when name already has extension
2019-11-21 21:34:12 +01:00
Ignacio Etcheverry
f91416d9ac
C#: Fix PathWhich on Windows when name already has extension
...
Also make the Posix version of PathWhich check if the file has executable access.
2019-11-21 14:53:00 +01:00
Rémi Verschelde
73323a2838
Merge pull request #33763 from neikeq/issue-33725
...
Fix C# export error dialog showing up when it should not
2019-11-20 13:23:20 +01:00
Ignacio Etcheverry
d79aeca599
Fix C# export error dialog showing up when it should not
2019-11-20 13:07:26 +01:00
Ignacio Etcheverry
3f247ea507
Mono/C#: Bundle libmono-btls-shared.dll on Windows if it exists
2019-11-19 17:22:06 +01:00
Ignacio Etcheverry
008769aee9
C#: Throw NullReferenceException for null NodePath/RID params
2019-11-18 12:23:54 +01:00
Ignacio Etcheverry
8cbe4a3db4
Make C# internal calls return structs as ref parameters
...
The Mono IL interpreter's WebAssembly to native trampolines don't support passing structs by value, so we need to do it this way.
Also now we pass and return long, ulong, float and double as ref parameters as well. This is due to missing trampolines for float and long types. This is likely a temporary workaround that will be reverted in the future. The correct solution would be to patch 'mono/mini/m2n-gen.cs' when building the Mono runtime for WASM in order to generate the trampolines we need.
2019-11-15 03:22:25 +01:00
Ignacio Etcheverry
2b67924a0b
Mono/C#: Initial exporter support for AOT compilation
2019-11-15 03:22:18 +01:00
Ignacio Etcheverry
de7c2ad21b
Mono/C#: WebAssembly support
2019-11-13 21:41:11 +01:00
Ignacio Roldán Etcheverry
953f37f49b
Merge pull request #33249 from JoshLee0915/MonoHeadlessServer
...
Added missing server platform checks to template dir and shared lib copy in mono_configure.py
2019-11-12 14:57:29 +01:00
Rémi Verschelde
77816fea8b
Merge pull request #32477 from aaronfranke/equal-approx-separate
...
Make is_equal_approx separate and make == exact again
2019-11-07 14:54:15 +01:00
Aaron Franke
4922a48a9e
[Mono] Alphabetize Mathf
2019-10-29 10:10:24 -04:00
Rémi Verschelde
e96319c7f3
Merge pull request #32670 from aaronfranke/mono-plane
...
[Mono] Change Plane intersect methods to return nullable Vector3
2019-10-23 21:44:05 +02:00
JoshLee0915
cbd98d0fcf
Added the server platform checks to template dir and shared lib copy
2019-10-21 20:47:24 -06:00
Aaron Franke
218f38c7ec
Expose is_equal_approx and restore == to be exact again
...
This commit changes behavior for GDScript and C#.
Also did some organizing of the order to logically group related methods, mostly for Rect2 and AABB.
2019-10-14 16:48:59 -04:00
Aaron Franke
86922ff70b
Make is_equal_approx separate for structures
...
This commit adds exposed behavior for C#
2019-10-14 16:46:54 -04:00
Ignacio Etcheverry
8a0c0371d4
C#: Fix regression from #32732 caused a crash on domain reload
2019-10-12 21:27:56 +02:00
Rémi Verschelde
3cc94b2c0b
Mono: Fix template build after #32732
2019-10-11 15:17:36 +02:00
Ignacio Etcheverry
8c438a2197
C#: Fix detection of outdated release Godot API assemblies
2019-10-11 01:46:06 +02:00
Aaron Franke
643874f8ca
[Mono] Change Plane intersect methods to return nullable Vector3
2019-10-08 22:47:22 -04:00
Rémi Verschelde
f3f2fdfbab
Mono: Fix detection of MsBuild from Visual Studio
...
This was a wrong check as an exit code of 0 means success,
not failure. It used to be fine as blocking mode always returned
-2, but this was changed in #32033 to return the exit code.
Fixes #32424 .
2019-10-03 14:13:41 +02:00
Ignacio Roldán Etcheverry
763a4d8402
Merge pull request #32401 from neikeq/Kisaama!
...
Mono: Don't compare API hashes on release builds
2019-09-28 03:31:37 +02:00
Ignacio Etcheverry
1509890dbc
Mono: Don't compare API hashes on release builds
...
API hashes cannot be calculated on release builds, as bindings information is lacking. Therefore, we should not be comparing it with the generated glue hash as they will never match.
2019-09-28 01:07:57 +02:00
Rémi Verschelde
e067a54988
Merge pull request #32353 from neikeq/yamero
...
Mono: Improve API assembly load error message on exported games
2019-09-26 07:31:03 +02:00
Rémi Verschelde
0a10e07124
Merge pull request #32352 from neikeq/issue-32237
...
Mono: Don't use project settings for debugger agent on exported games
2019-09-26 07:29:25 +02:00
Ignacio Etcheverry
2325fb11a8
Mono: Improve API assembly load error message on exported games
2019-09-25 22:32:39 +02:00
Ignacio Etcheverry
5ff4e0516b
Mono: Don't use project settings for debugger agent on exported games
2019-09-25 22:03:24 +02:00
Rémi Verschelde
dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
...
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin
17732fe698
Added some obvious errors explanations
2019-09-25 10:28:50 +02:00
Ignacio Etcheverry
c4fa027614
Improve C# bindings generator errors for default param values
2019-09-24 15:09:54 +02:00
Rémi Verschelde
9c116f4f1d
Merge pull request #32223 from neikeq/cs_glue_version_fix
...
C#: Make sure cs_glue_version is present when building export templates
2019-09-20 17:46:34 +02:00
Ignacio Etcheverry
95c685143a
C#: Make sure cs_glue_version is present when building export templates
2019-09-20 17:41:20 +02:00
Rémi Verschelde
f9db6ad8c5
Merge pull request #31919 from m4gr3d/use_aar_for_custom_build
...
Leverage Android archive (AAR) file for Godot custom build
2019-09-19 20:22:09 +02:00
Chaosus89
46bb523db7
[Mono] Corrected rectangle intersection
2019-09-16 09:49:04 +03:00
Rémi Verschelde
24e1039eb6
Merge pull request #32045 from neikeq/fix-cannot-create-mono-log-file
...
Mono: Fix unable to create log file due to str_format bug
2019-09-08 22:31:52 +02:00
Ignacio Etcheverry
3dcd7e54f4
Mono: Fix unable to create log file due to str_format bug
2019-09-08 19:40:17 +02:00
Ignacio Roldán Etcheverry
da2af72d73
Merge pull request #32022 from neikeq/fix-mono-export-windows-backslash
...
Mono: Fix PCK assembly paths when exporting from Windows
2019-09-07 21:39:27 +02:00
Ignacio Etcheverry
93897fb884
Fix missing method for internal_MonoWindowsInstallRoot
2019-09-07 02:31:01 +02:00
Ignacio Etcheverry
e439581198
Mono: Fix PCK assembly paths when exporting from Windows
...
Assembly paths were written to PCK files with backslash as path separator and PackedData only supports forward slash.
This would make exported games unable to find the assemblies.
2019-09-07 02:19:25 +02:00
fhuya
7fabfd402f
Split the Android platform java logic into an Android library module (`lib`) and an application module (`app`).
...
The application module `app` serves double duties of providing the prebuilt Godot binaries ('android_debug.apk', 'android_release.apk') and the Godot custom build template ('android_source.zip').
2019-09-04 16:20:22 -07:00
iwek7
617797c47c
Adds skip-breakpoints feature
2019-09-03 20:49:09 +02:00
Aaron Franke
f8b4cf0fc4
Check for exact equality before approximate equality
2019-09-01 14:02:14 -04:00
Ignacio Etcheverry
5a6070dde3
Mono: Force preemptive thread suspend mode as a temporary workaround
2019-08-30 01:33:50 +02:00
Rémi Verschelde
a5e0aa32d9
Merge pull request #31770 from neikeq/supercedes-31008
...
Fix GodotTools.ProjectEditor HintPaths for referenced packages
2019-08-29 21:16:49 +02:00
Ignacio Etcheverry
6d2883c9bf
Fix GodotTools.ProjectEditor HintPaths for referenced packages
2019-08-29 18:19:01 +02:00
Rémi Verschelde
65d1b0b427
Merge pull request #31729 from aaronfranke/mono-color
...
[Mono] Various Color fixes and improvements
2019-08-28 21:29:47 +02:00
Rémi Verschelde
538328898b
Style: Fix copyright headers in new files
2019-08-28 09:19:52 +02:00
Rémi Verschelde
185072015f
Merge pull request #31606 from toasteater/fix/nativescript-new-json-return-type
...
Fix the return type of NativeScript::new in API json
2019-08-28 09:15:40 +02:00
Aaron Franke
34ab6549b1
[Mono] Various Color improvements
...
I also slid in a fix to C++ Vector3 > and >=
2019-08-27 22:05:18 -04:00
Rémi Verschelde
92ead83913
Mono: Fix OSX build due to invalid function call
2019-08-27 09:48:54 +02:00
toasteater
e2121c97ae
Make VarArg methods return types show up as Variant in API json
...
VarArg methods have the return type Object in the API json for GDNative. This
can cause undefined behavior in some language bindings due to lack of
documentation on VarArg methods' behavior.
This changes the MethodInfo of:
- CSharpScript::_new
- GDScript::_new
- PluginScript::_new
2019-08-26 16:36:51 +00:00
Ignacio Roldán Etcheverry
be99e7b68f
Merge pull request #31680 from neikeq/fix-android-gen-sources
...
Fix 'android_mono_config.gen.cpp' not compiled first time it's generated
2019-08-26 18:28:12 +02:00
Ignacio Etcheverry
aa805e2699
Fix 'android_mono_config.gen.cpp' not compiled first time it's generated
2019-08-26 17:46:57 +02:00
Rémi Verschelde
57afa90f0c
Merge pull request #31652 from Calinou/csharp-alpha-dialog-android
...
Mention Android support in the C# alpha dialog message
2019-08-26 10:18:27 +02:00
Ignacio Etcheverry
3af8bd071e
Set C# 7 as LangVersion for GodotTools and Godot API projects
...
This will make it harder for someone to accidentally commit code that requires a newer version.
2019-08-25 15:53:47 +02:00
Hugo Locurcio
27f5ab2d7b
Mention Android support in the C# alpha dialog message
2019-08-25 15:08:32 +02:00
lamonte
1df0e88ae8
default is only supported by 7.1, reverted to support 7.0 out of the box (no conflict)
2019-08-25 06:48:37 -05:00
Rémi Verschelde
51d50e167d
Merge pull request #31094 from aaronfranke/vector-sign-mod-etc
...
Add Vector2/3 sign and posmod functions, axis, docs, misc additions
2019-08-23 09:07:47 +02:00
Ignacio Etcheverry
dae2a335c5
Make sure '.mono/metadata/' exists before creating file
...
Fixes #31549
2019-08-22 14:32:55 +02:00
Aaron Franke
092346d82b
Add Vector2/3 sign and posmod functions, misc additions
...
Also make the docs more consistent, add Axis enum to Vector2, add > and >=. and C# also gets % and an override for vector-vector mod.
2019-08-17 18:31:55 -04:00
Rémi Verschelde
8995d95da0
Merge pull request #31347 from neikeq/monodevelop-addin
...
C#: Add Ide Connection library and server for the editor
2019-08-14 11:39:41 +02:00
Hugo Locurcio
05daf5c78b
Always use lists for `LIBS` in SCons
...
This closes #31288 .
2019-08-12 22:31:55 +02:00
Ignacio Etcheverry
bda461c2b1
Add C# language editor icon
2019-08-12 18:57:26 +02:00
Ignacio Roldán Etcheverry
3c78837218
Merge pull request #31322 from neikeq/mono-gitignore-override-sln
...
Make git no longer ignore solution files inside the mono module
2019-08-12 16:50:18 +02:00
Ignacio Etcheverry
33c0d47273
Make git no longer ignore solution files inside the mono module
2019-08-12 15:59:06 +02:00
Aaron Franke
85f13a0d24
Add Basis constants and format Transform constants
2019-08-09 11:34:54 -07:00
Ignacio Etcheverry
c55ce204b3
Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'modules/mono'
...
And 'CRASH_*_MSG' as well.
Also make error messages puntuation and quotation more consistent.
2019-08-09 12:13:21 +02:00
Aaron Franke
50fd2deede
[Mono] Make all structs seralizable
2019-08-07 18:34:52 -07:00
Rémi Verschelde
ba541bceca
Merge pull request #31077 from qarmin/coverity_bugs
...
Change some code proposed by Coverity and Cppcheck
2019-08-07 13:49:33 +02:00
qarmin
e0b5b21863
Add some code changes/fixes proposed by Coverity and Clang Tidy
2019-08-07 12:54:30 +02:00
Aaron Franke
a9c10450bd
[Core] [Mono] Optimize Wrap functions
...
Use is_zero_approx(), avoid a negative, and also rename "rng" to "range".
2019-08-04 20:38:38 -07:00
Ignacio Etcheverry
57fe284fe6
C#: Fix Color.ToHtml()
2019-08-04 05:04:39 +02:00
Ignacio Etcheverry
0b94203a79
C#: Add Ide Connection library and server for the editor
...
This will be used for communicating between the Godot editor and external IDEs/editors, for things like opening files, triggering hot-reload and running the game with a debugger attached.
2019-08-04 01:57:53 +02:00
Aaron Franke
7dbbb5eac7
[Mono] Deprecate Set methods
...
These silently fail, so they should be removed. I accidentally added most of these last year, trying to make everything else consistent with Quat, sorry!
Also, a few tiny nitpicking changes are included, like whitespace and misspellings.
2019-07-28 17:49:22 -04:00
Ignacio Etcheverry
d54df7b904
C#: Fix Transform2D.AffineInverse()
2019-07-27 02:15:29 +02:00
Ignacio Roldán Etcheverry
6697ad2c4f
Merge pull request #30842 from neikeq/fix-custom-props-msbuild
...
Mono: Fix custom defines for Mono's MSBuild; remove xbuild
2019-07-26 18:33:52 +02:00
Ignacio Etcheverry
8821569689
Mono: Fix custom defines for Mono's MSBuild; remove xbuild
...
Mono's MSBuild and System/VisualStudio's MSBuild expect a different format for surrounding property values with quotes on the command line.
xbuild does not seem to support semicolons in property values from the command line: https://xamarin.github.io/bugzilla-archives/16/16465/bug.html
It's a good time to just remove xbuild support entirely.
2019-07-26 17:17:17 +02:00
Ignacio Roldán Etcheverry
a82420fbe8
Merge pull request #30825 from neikeq/heya
...
Fix incorrectly updating csproj and not closing build issues file
2019-07-26 16:54:11 +02:00
Ignacio Etcheverry
4e84478f4e
Fix incorrectly updating csproj and not closing build issues file
2019-07-25 21:06:40 +02:00
Ignacio Etcheverry
c9befa63d2
Mono: Don't try to update project assemblies from project manager
...
Previously, when running the project manager, we would try to load the API assemblies from the project and fail because we were not editing any project. This would make us try to copy the prebuilt API assemblies to the project. Since there is no project, it would try to copy them to the executable location. This would fail if Godot doesn't have permissions to write to that location.
This commit fixes that by instead trying to load the prebuilt API assemblies in the first place, if running the project manager.
2019-07-25 17:52:45 +02:00
Ignacio Etcheverry
c0cdbb7938
Mono: Fix regression: external editors not working on Windows
2019-07-24 23:19:24 +02:00
Ignacio Etcheverry
513cc78f85
Mono: Add option to keep running after unhandled exceptions
...
By default, an unhandled exception will cause the application to be terminated; but the project setting `mono/unhandled_exception_policy` was added to change this behaviour.
The editor is hard-coded to never terminate because of unhandled exceptions, as that would make writing editor plugins a painful task, and we cannot kill the editor because of a mistake in a thirdparty plugin.
2019-07-24 23:19:15 +02:00
Chaosus
080c0bb7fe
Added count method to String
2019-07-23 18:55:54 +03:00
Ignacio Etcheverry
0197d86ab4
Mono: Fix editor API assembly not being updated
...
If both the core and editor API assemblies are missing or out of sync, Godot will only update the former and then abort when trying to load them again because the latter was not updated. Godot will update it correctly the next time it's started, but this should not be needed and it should work the first time. This commit fixes that.
2019-07-22 00:16:24 +02:00
Ignacio Roldán Etcheverry
4379395892
Merge pull request #30710 from neikeq/issue-30526
...
Fix mono module build errors for release templates
2019-07-20 16:20:49 +02:00
Ignacio Etcheverry
ec679dfffa
Fix mono module build errors for release templates
2019-07-20 15:52:26 +02:00
Chaosus
6694c119d0
Added lerp_angles built-in function
...
Co-authored-by: Xrayez <https://github.com/Xrayez >
Co-authored-by: DleanJeans <https://github.com/DleanJeans >
2019-07-20 12:59:41 +03: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
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
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
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
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
29ca79bd68
Merge pull request #30428 from neikeq/gitcheckout-b
...
Misc Mono Fixes
2019-07-09 08:26:48 +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
qarmin
9a77d748c0
Fixes minor issues found by static analyzer
2019-07-07 23:08:51 +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
Rémi Verschelde
e4699aa047
Merge pull request #30293 from neikeq/issue-29734
...
Mono: Fix Array IndexOutOfRangeException not being thrown
2019-07-03 21:26:25 +02:00
Rémi Verschelde
e1478b7a87
Merge pull request #30292 from neikeq/android_fixes
...
Mono: Android build and shared libraries fixes
2019-07-03 21:26:12 +02:00
Ignacio Etcheverry
3abe6961dc
Mono: Fix Array IndexOutOfRangeException not being thrown
2019-07-03 17:56:08 +02:00
Ignacio Etcheverry
9f1a8ce6a2
Mono: Android build and shared libraries fixes
...
Fix location of Mono's shared libraries.
Fix build failing if the directory 'platform/android/java/libs/{target}/{abi}' doesn't exist.
2019-07-03 17:48:12 +02:00
Rémi Verschelde
b0d41847ed
SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor defines
...
It's the recommended way to set those, and is more portable
(automatically prepends -D for GCC/Clang and /D for MSVC).
We still use CPPFLAGS for some pre-processor flags which are not
defines.
2019-07-03 09:59:04 +02:00
qarmin
3c154eb93b
Remove unnecessary code and add some error explanations
2019-07-01 12:59:42 +02:00
qarmin
4e5310cc60
Some code changed with Clang-Tidy
2019-06-26 15:08:25 +02:00
JohnJLight
38d3bfe971
Made use of semicolons more consitent, fixed formatting
2019-06-19 15:24:31 +02:00
Rémi Verschelde
d6176db271
Unexpose subclasses of ResourceFormatLoader and -Saver
...
ResourceFormatLoader and ResourceFormatSaver are meant to be overridden
to add support for different formats in ResourceLoader and ResourceSaver.
Those should be exposed as they can be overridden in plugins.
On the other hand, all predefined subclasses of those two base classes
are only meant to register support for new file and resource types, but
should not and cannot be used directly from script, so they should not
be exposed.
Also unexposed ResourceImporterOGGVorbis (and thus its base class
ResourceImporter) which are editor-only.
2019-06-18 17:56:23 +02:00
Rémi Verschelde
89ce9a6f46
Mono: Fix -Wduplicated-branches warning
2019-06-15 18:01:34 +02:00
Ignacio Roldán Etcheverry
abbbde87e2
Merge pull request #29606 from neikeq/remove-unneeded-mono-patches
...
Remove obsolete mono patch for pthread_mutexattr_setprotocol
2019-06-08 21:14:15 +02:00
Ignacio Etcheverry
26f9d907d4
Remove obsolete mono patch for pthread_mutexattr_setprotocol
...
This has already been fixed in Mono both master and 2019-06 (no other branch other than the skipped 2019-04 branch uses pthread_mutexattr_setprotocol).
2019-06-08 17:00:02 +02:00
Ignacio Etcheverry
ff0c863cb1
Mono: Fix SCons options added to the wrong environment
2019-06-04 16:15:00 +02:00
Ignacio Etcheverry
14df9e5cb2
Android build and export for the mono module
2019-06-03 17:09:24 +02:00
Rémi Verschelde
b9dc2e7e4d
Merge pull request #28099 from lupoDharkael/fix-completion
...
Fix code completion not working with class_name
2019-06-03 14:01:07 +02:00
Rémi Verschelde
3c4fab295b
Merge pull request #27789 from Giacom/move_towards
...
Added move_toward functions for float, Vector2 and Vector3
2019-06-01 12:05:18 +02:00
ShyRed
5dc50327cf
Escape quote char for non-Windows OS
...
Quote char appears to be ignored by ProcessStartInfo on non-Windows operating systems, so it needs to be escaped.
2019-05-29 19:13:16 +02:00
Giacom
c00427add3
Added move_toward functions for float, Vector2 and Vector3
2019-05-28 11:39:35 +01:00
Rémi Verschelde
7487d2f852
Merge pull request #28957 from aaronfranke/basis-optimize
...
Optimize Basis constructor for Axis Angle
2019-05-27 17:42:43 +02:00
Ignacio Roldán Etcheverry
df17cf06d4
Merge pull request #29184 from aaronfranke/mono-tan-xy-yx
...
[Mono] Change Atan2 arguments to (y, x)
2019-05-26 17:15:29 +02:00
Aaron Franke
19786f77ef
[Mono] Change Atan2 arguments to Y X
2019-05-26 03:15:56 -04:00
ShyRed
60e711a115
Add Godot constants to Mono project builds
...
This adds constants to projects build via Godot Mono which allows project to conditionally react to different operating systems and 32/64 Bit architecture. Additionally .NET libraries could support multiple engines like Unity and Godot at the same time when compiled from Godot and reacting to definitions.
2019-05-26 08:07:55 +02:00
Ignacio Roldán Etcheverry
0d8f1ba6a9
Merge pull request #29021 from aaronfranke/mono-tuple
...
[Mono] Misc Basis and AABB improvements
2019-05-26 01:46:07 +02:00
Ignacio Etcheverry
04ebf294f3
C#: Implement ScriptInstance::to_string
...
Create a blacklist of methods that must not be generated. Includes: "to_string", "_to_string" and "_init".
2019-05-24 00:40:20 +02:00
Aaron Franke
7b6473fec5
[Mono] Misc Basis and AABB improvements
2019-05-22 15:23:51 -04:00
Ignacio Roldán Etcheverry
e2375f487c
Merge pull request #29079 from neikeq/oopsie
...
Fix C# build error in MarshalUtils debug code
2019-05-21 19:54:34 +02:00
Ignacio Roldán Etcheverry
9c45432309
Merge pull request #29052 from neikeq/fixes-28667------i-think
...
Replace call to 'mono_runtime_object_init' with manual ctor invoking
2019-05-21 19:15:32 +02:00
Ignacio Etcheverry
9b76c56098
Fix C# build error in MarshalUtils debug code
2019-05-21 19:09:00 +02:00
Ignacio Etcheverry
66b930a266
Replace call to 'mono_runtime_object_init' with manual ctor invoking
2019-05-21 00:06:04 +02:00
Rémi Verschelde
e0574e1d98
Fix typos with codespell
...
Using codespell 1.15.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Ignacio Etcheverry
5a4bf4f369
C#: Marshalling support for IEnumerable<> and IDictionary<,>
...
Also fixed the hint string of exported members.
2019-05-18 19:39:56 +02:00
Aaron Franke
9ff708f008
Optimize Basis constructor for Axis Angle
2019-05-17 05:11:12 -04:00
ShyRed
77ab9ba252
Fix generation of Mono Glue for Visual Studio 2017+
...
vsnprintf definition should only be changed when MSC version is older than 2013. The version check and fix is taken from StringUtils.h of assimp.
2019-05-05 12:39:02 +02:00
marxin
cdf54d6c5f
Ignore a warning in _get_socket_error (-Wlogical-op).
...
drivers/unix/net_socket_posix.cpp: In member function 'NetSocketPosix::NetError NetSocketPosix::_get_socket_error()':
drivers/unix/net_socket_posix.cpp:197:22: warning: logical 'or' of equal expressions [-Wlogical-op]
197 | if (errno == EAGAIN || errno == EWOULDBLOCK)
| ^
and:
modules/mono/utils/string_utils.cpp: In function 'int {anonymous}::sfind(const String&, int)':
modules/mono/utils/string_utils.cpp:68:48: error: logical 'or' of collectively exhaustive tests is always true [-Werror=logical-op]
found = src[read_pos] == 's' || (c >= '0' || c <= '4');
~~~~~~~~~^~~~~~~~~~~
2019-05-02 11:11:52 +02:00
Rémi Verschelde
8afc9c3938
Merge pull request #21425 from aaronfranke/decimal-functions
...
Make "decimal" functions more consistent
2019-05-01 08:16:10 +02:00
Rémi Verschelde
7ff0979747
Merge pull request #28544 from neikeq/issue-28540
...
Fix missing argument for vsnprintf_s
2019-05-01 07:18:31 +02:00
Ignacio Etcheverry
4eedb97802
Fix missing argument for vsnprintf_s
2019-04-30 23:15:25 +02:00
Aaron Franke
620ec4703f
Make "decimal" functions more consistent
...
In GDScript, rename "decimals" to "step_decimals". In C#, add "StepDecimals", but keep the old functionality in a method called "DecimalCount".
2019-04-30 13:49:17 -04:00
Rémi Verschelde
a7f00f3bac
Merge pull request #28530 from akien-mga/scons-prepend-cpppath
...
SCons: Always use env.Prepend for CPPPATH
2019-04-30 18:23:38 +02:00
Rémi Verschelde
d52b70fb5e
SCons: Always use env.Prepend for CPPPATH
...
Include paths are processed from left to right, so we use Prepend to
ensure that paths to bundled thirdparty files will have precedence over
system paths (e.g. `/usr/include` should have lowest priority).
2019-04-30 13:12:06 +02:00
Ignacio Etcheverry
470b80cc55
C#: Support resource type hint in exported arrays
...
- Elements of types like PackedScene will display with the special editor for such type.
2019-04-29 21:20:05 +02:00
Rémi Verschelde
554c0ea90b
Merge pull request #28423 from neikeq/dont-forget-to-think-a-name-for-this-branch
...
C#: Deprecate accessor methods and generate correct int and float types
2019-04-29 16:56:25 +02:00
Rémi Verschelde
18e88c8563
Merge pull request #18992 from aaronfranke/mono-equal-approx
...
[Core] [Mono] Improve and use approximate equality methods
2019-04-29 10:16:46 +02:00
Ignacio Etcheverry
3380565e4b
C#: Generate the correct integer and floating point types
2019-04-27 01:30:46 +02:00
Ignacio Etcheverry
791e1294c3
Mono: Lazily load scripts metadata file
...
- Only load the scripts metadata file when it's really needed. This way we avoid false errors, when there is no C# project, about missing scripts metadata file.
2019-04-26 19:53:44 +02:00
Ignacio Etcheverry
340252727b
C#: Mark generated property accessor methods as Obsolete
...
- Methods that act as accessors for properties in the same class (like `GetPosition` and `SetPosition` are for `Position`) are now marked as obsolete. They will be made private in the future.
2019-04-25 20:34:35 +02:00
Ignacio Etcheverry
c20a3823a2
C# bindings generator cleanup
...
- Normal log messages are no longer warnings.
- BindingsGenerator is no longer a singleton.
- Added a log function.
2019-04-25 20:34:28 +02:00
Aaron Franke
c577ec6ae4
[Mono] Approximate equality
2019-04-25 13:20:29 -04:00
Ignacio Etcheverry
d93c354807
Fix invalid mono log file name on Windows
2019-04-24 18:52:03 +02:00
Rémi Verschelde
3610b4fd77
Merge pull request #28179 from neikeq/welp
...
Use StringBuilder in C# bindings generator
2019-04-22 11:52:30 +02:00
Ignacio Roldán Etcheverry
7be498499b
Merge pull request #27820 from ForLoveOfCats/master
...
Mono: Convert all items to string before printing
2019-04-20 04:12:22 +02:00
ForLoveOfCats
25f563c4c8
Mono: Convert all items to string before printing
2019-04-19 12:59:22 -04:00
Rémi Verschelde
b29df348e2
Merge pull request #28192 from akien-mga/doc-unused-demos
...
doc: Drop unused <demos> tag, sync classref
2019-04-19 12:50:42 +02:00