Hein-Pieter van Braam
cd9b0d7cc3
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.
(cherry picked from commit 0ec912a79e
)
2018-04-30 12:54:51 +02:00
Ignacio Etcheverry
c358e4c728
Add option to link mono statically on Windows
...
(cherry picked from commit b5e6e142ef
)
2018-04-29 16:16:26 +02:00
Xavier Cho
1da969736f
Remove duplicated declaration of RoundToInt() from Mathf
...
(cherry picked from commit 9e2e6bb1e2
)
2018-04-29 14:15:09 +02:00
Paul Joannon
486f4d2769
[mono] add the 'Facades' subfolder to the searched directories in _preload_hook
...
(cherry picked from commit 22606a7bec
)
2018-04-29 13:54:16 +02:00
Ignacio Etcheverry
199a54d5ac
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.
(cherry picked from commit fbc808012f
)
2018-04-29 13:49:27 +02:00
Xavier Cho
57c281557a
#18051 : Fix indentation issues introduced during clean up
...
(cherry picked from commit 6b611e6431
)
2018-04-29 13:40:15 +02:00
Xavier Cho
d330bee1c2
#18051 : Do not use `var` in a for-loop, or where type is not obvious
...
(cherry picked from commit e59fad3924
)
2018-04-29 13:40:09 +02:00
Xavier Cho
72bcacf2b6
#18051 : Use common name for Color type argument
...
(cherry picked from commit 94edd92248
)
2018-04-29 13:40:04 +02:00
Xavier Cho
3876a8776e
#18051 : Remove redundant verbatim prefixes
...
(cherry picked from commit f0bf5532fa
)
2018-04-29 13:39:51 +02:00
Xavier Cho
37ce381e3d
#18051 : Use default parameter value
...
(cherry picked from commit 85787776a5
)
2018-04-29 13:39:40 +02:00
Xavier Cho
939d50243b
#18051 : Use array initializer when applicable
...
(cherry picked from commit b765c051cb
)
2018-04-29 13:39:34 +02:00
Xavier Cho
57f18194f5
#18051 : Remove redundant parenthesis
...
(cherry picked from commit 9097c71255
)
2018-04-29 13:39:28 +02:00
Xavier Cho
58f2953ddf
#18051 : Remove unnecessary variable assignments
...
(cherry picked from commit 93dd59d763
)
2018-04-29 13:39:22 +02:00
Xavier Cho
31171ea5a2
#18051 : Use 'var' when applicable
...
(cherry picked from commit fdfc478c88
)
2018-04-29 13:39:08 +02:00
Xavier Cho
e7b97af276
#18051 : Remove redundant casts and 'using', 'else', 'this' statements
...
(cherry picked from commit 0ef3e0577b
)
2018-04-29 13:38:58 +02:00
Ignacio Etcheverry
3f6ea30f8d
Mono: Fix '!t' error messages when generating bindings
...
This error wasn't affecting the bindings generation process.
(cherry picked from commit ff7fe9e771
)
2018-04-28 22:59:38 +02:00
Ignacio Etcheverry
58918b629d
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.
(cherry picked from commit f8ce412560
)
2018-04-28 22:59:25 +02:00
Ignacio Etcheverry
736d8db007
Mono: Fix crash on script load if the scripts domain isn't loaded
...
(cherry picked from commit 89e84185e8
)
2018-04-28 22:59:11 +02:00
Chaosus
a29680c25a
[Mono] Improve Mathf
...
(cherry picked from commit 655a4e6540
)
2018-04-15 00:57:14 +02:00
Alexander Alekseev
3a430e46b9
[mono] Fixes #17936 as GodotSharp (Core\Basic.cs) requires C#7 now, but we most probably should keep C#6 yet
...
(cherry picked from commit 5677aed175
)
2018-04-15 00:56:14 +02:00
Nikodem Lokatelj
b4733a1da9
Fixed _issue_activated to take the correct issue id from the list
...
(cherry picked from commit 4fdee1d9f1
)
2018-04-15 00:55:25 +02:00
Wilson E. Alvarez
8ebd4bb874
Move GodotSharp and MonoBuildTab member variables to initializer list
...
(cherry picked from commit 3f86fefb64
)
2018-04-15 00:54:00 +02:00
Chaosus
63a88c69ac
Added wrap functions to C#
...
(cherry picked from commit d52722c6da
)
2018-04-15 00:52:29 +02:00
Ignacio Etcheverry
bfc94dd4c9
Mono: Runtime main args and assembly search fixes
...
- Setup runtime main args during initialization. This must be done manually by embedders who do not call mono_runtime_run_main. Fixes NullReferenceException in System.Environment.
- Continue to search the assembly in the rest of the search locations if loading it from one of them failed.
(cherry picked from commit fa1d656af4
)
2018-04-15 00:48:15 +02:00
Andreas Haas
6472d8c7d4
Mono: Avoid invalid class names.
...
Disallow reserved keywords as class names and prefix base class with the Godot
namespace if it's the same as the class name.
Fixes #12483
(cherry picked from commit 700d07cf7c
)
2018-04-15 00:48:11 +02:00
Hein-Pieter van Braam
e4fadebc3b
Fix a merge error
2018-04-15 00:43:26 +02:00
Ignacio Etcheverry
9e4d34aebb
Mono: Add project export plugin
...
(cherry picked from commit 9fd606c549
)
2018-04-15 00:04:14 +02:00
Paul Joannon
d02c891a4b
[mono] write classes with no constructor as abstract
...
(cherry picked from commit ef5672d3f9
)
2018-04-14 23:54:11 +02:00
Paul Joannon
3bd414786c
[mono] rename functions to conform to PascalCase
...
in:
* StringExtensions.cs
* Transform.cs
(cherry picked from commit d7020aef8d
)
2018-04-14 23:53:56 +02:00
Carter Anderson
c7adcc8dca
Fix mono basis GetEuler bug and marshalling/unmarshalling
...
(cherry picked from commit 91f271fa9e
)
2018-04-14 23:20:33 +02:00
Aaron Franke
577f3ccaf9
Replace float with real_t, default Vectors, other misc C# improvements
...
Replace float with real_t in most files, defined at the top of each file via using. Objects such as Vector3 now accept doubles as inputs, and convert to real_t internally. I've added default Vectors such as Vector3.Zero. Other misc C# improvements such as Mathf.RoundToInt(). Color continues to use float only because high precision is not needed for 8-bit color math and to keep things simple. Everything seems to compile and work fine, but testing is requested, as this is the first time I've ever contributed to Godot.
(cherry picked from commit ff97c97c93
)
2018-04-14 23:20:03 +02:00
Hein-Pieter van Braam
3e931e258c
More reliably find mscorlib.dll on Linux
...
(cherry picked from commit c094e90b25
)
2018-02-27 22:12:01 +01:00
Hein-Pieter van Braam
7e5a374825
Deprecate a typo for a new method introduced in 3.0.1
2018-02-27 17:53:46 +01:00
Hein-Pieter van Braam
4e1d19b20c
Revert "[Mono] Basis values now marshalled in the correct order."
...
This reverts commit 9173819b71
.
The fixes for these issues aren't quite baked yet. Taking them out of
3.0.2
2018-02-27 17:52:18 +01:00
Hein-Pieter van Braam
d7430ef077
Revert "The marshalling in was also incorrect."
...
This reverts commit b6f958965b
.
The fixes for these issues aren't quite baked yet. Taking them out of
3.0.2
2018-02-27 17:52:18 +01:00
Ignacio Etcheverry
f6c65d9d15
Mono: Buildsystem improvements
...
- Bundle with mscorlib.dll to avoid compatibilities issues
- Add build option 'mono_assemblies_output_dir' to specify the output directory where the assemblies will be copied to. '#bin' by default.
(cherry picked from commit a45697d8df
)
2018-02-27 11:35:19 +01:00
Michele Valente
990bddcf36
fix release builds with mono
...
"_signals" and "signals_invalidated" were moved out of the
"TOOLS_ENABLED" directive. Updated also the two "update_signals" and
"_update_signals" methods so it makes sense.
(cherry picked from commit 3c7d9001bc
)
2018-02-27 11:34:52 +01:00
Paul Joannon
87242c7b92
fix build error when compiling with mono, tools=no, target=release
...
change TTR to RTR in `print_unhandled_exception`
(cherry picked from commit 90a705d671
)
2018-02-27 11:25:10 +01:00
Paul Joannon
58a7d78c22
[mono] get stacktraces for all inner exceptions
...
(cherry picked from commit 89af6c2cd7
)
2018-02-26 23:55:13 +01:00
Ignacio Etcheverry
c0386f0124
Mono: Fix bindings for parameters in vararg methods
...
(cherry picked from commit 0c82858121
)
2018-02-26 23:54:32 +01:00
Nathan Warden
b6f958965b
The marshalling in was also incorrect.
...
(cherry picked from commit 60daa9d718
)
2018-02-26 22:45:53 +01:00
Ignacio Etcheverry
dde14e15c6
Mono: Better versioning and gracefully unloading of Godot API assemblies
...
(cherry picked from commit f37090ccf4
)
2018-02-26 22:36:03 +01:00
Rémi Verschelde
ccf27376a6
Update warning about C# support
...
(cherry picked from commit 24cf4fe062
)
2018-02-21 22:55:46 +01:00
Nathan Warden
9cfcf102a0
[Mono] Fixed "expression did not evaluate to a constant" compiler error for visual studio.
...
(cherry picked from commit 72fe70272d
)
2018-02-21 22:12:57 +01:00
Ignacio Etcheverry
2abbdcaa20
Mono: Fix build status icons
...
(cherry picked from commit 8bd05f0c71
)
2018-02-19 22:40:21 +01:00
Paul Joannon
9cba5ef772
implement signal related methods in csharp_script so signals can be used with emit
...
(cherry picked from commit cfbd7fd21e
)
2018-02-19 22:39:51 +01:00
Paul Joannon
416cd9c8b8
add a [Signal] attribute to CSharpScripts
...
(cherry picked from commit efd52cd172
)
2018-02-19 22:39:44 +01:00
Pieter-Jan Briers
4b581104e7
Makes project manager never initialize mono debug.
...
The heuristic whether we're in the project manager inside GDMono
didn't work if the project manager was launched by not having any path
to run.
This is fixed now by making a Main::is_project_manager().
(cherry picked from commit 1099838079
)
2018-02-19 22:32:17 +01:00
Pieter-Jan Briers
f49601a934
Give C# NodePath a ToString().
...
It already had an implicit cast operator to string,
but this doesn't get used in say string formatting.
So now something like $"path: {GetPath()}" works.
(cherry picked from commit 3c1f8efd9e
)
2018-02-19 22:31:33 +01:00
Pieter-Jan Briers
3e6ab9f3d5
Makes NodePath and RID follow PascalCase in C#.
...
Fixes #15685
(cherry picked from commit b1a81374d4
)
2018-02-19 22:30:45 +01:00
Jonathan Tinkham
0d03b5f162
Add and use mono build variables with cloned environment.
...
(cherry picked from commit 70d281b946
)
2018-02-19 22:13:46 +01:00
Benjamin Dobell
34d8625d82
Fix pkgconfig detection of mono
...
(cherry picked from commit 5920bc6f72
)
2018-02-19 22:13:45 +01:00
Nathan Warden
9173819b71
[Mono] Basis values now marshalled in the correct order.
...
(cherry picked from commit 0cc4de1f24
)
2018-02-19 22:13:45 +01:00
Paul Joannon
a1455f6a03
Change 'Build Project' button style in Mono panel
...
Address #15208
(cherry picked from commit 484f664331
)
2018-02-19 20:50:39 +01:00
Nathan Warden
3f6e8d70cf
Added async and await as C# keywords.
...
(cherry picked from commit 3dcf0567a1
)
2018-02-05 09:33:01 +01:00
Ignacio Etcheverry
40c779fb70
Mono: Remove automatic script multilevel calls
...
(cherry picked from commit 84437b4864
)
2018-02-05 09:32:29 +01:00
Paolo Perkovic
7de47fbabb
Fix inconsistencies and typos in argument names
...
(cherry picked from commit 08d4bfacaf
)
2018-02-04 20:10:13 +01:00
Nathan Warden
4a3a597377
Fix an infinite recursion in the Mathf.Decimals method when using floats.
...
(cherry picked from commit 2109bd3f97
)
2018-02-04 20:08:26 +01:00
Rémi Verschelde
dcacf36118
Merge pull request #16118 from neikeq/i-dont-know-what-to-write-here-anymore
...
Mono: Fix build errors with tools=no and target=release
2018-01-27 23:29:27 +01:00
Ignacio Etcheverry
72b0a9432b
Mono: Fix method_bind fields being generated as instance members
2018-01-27 22:45:57 +01:00
Ignacio Etcheverry
0c3bbcaa00
Mono: Fix build errors with tools=no and target=release
2018-01-27 18:44:04 +01:00
Ignacio Etcheverry
562ec3f5e6
Mono: Don't defer call to dispose queue objects when finalizing domain
...
It's going to be called anyway after `mono_domain_finalize`.
This also prevents crashes, since the MessageQueue singleton could already be freed at this point (see: #15702 ).
2018-01-26 01:10:25 +01:00
Ignacio Etcheverry
58448561c7
Mono: Fix NodePath and RID bindings
2018-01-25 23:46:54 +01:00
Rémi Verschelde
d516aab8fa
doc: Sync with current source
...
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Ignacio Etcheverry
e1ae7dffd3
Merge pull request #16016 from neikeq/issue-13316
...
Fix CSharpInstance::call not initializing CallError
2018-01-24 01:35:10 +01:00
Ignacio Etcheverry
8c33939ce6
Fix CSharpInstance::call not initializing CallError
2018-01-24 01:31:51 +01:00
Paul Joannon
76a615aea4
SignalAwaiter::_signal_callback was calling the thunk with a wrong pointer
2018-01-23 12:58:54 +01:00
Rémi Verschelde
511742eb68
Merge pull request #15972 from akien-mga/mono-warning
...
Mono: Display opt-out warning in editor about WIP status
2018-01-22 22:23:02 +01:00
Rémi Verschelde
e48ccc235f
Mono: Display opt-out warning in editor about WIP status
...
This ensures that all users of the Mono flavour of Godot 3.0 are aware
of its current shortcomings (no export, crashes and usability issues).
The dialog is shown each time the editor is started, until the checkbox
is disabled (i.e. until users will have actually read it).
Fixes #15956 .
2018-01-22 14:57:42 +01:00
Paul Joannon
1eb9c7e6cb
RID cached class was wrong (mono)
2018-01-22 14:01:20 +01:00
Paul Joannon
e0ce249621
fix GDMonoProperty::set_value
...
was calling getter and not setter
should close #15387
2018-01-21 12:29:49 +01:00
Rémi Verschelde
9f479f096c
Fix typos in code and docs with codespell
...
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Kelly Thomas
ed17b42654
remove c#7 features for compatibility with 2015 Build Tools
...
https://github.com/godotengine/godot/issues/15742
2018-01-18 19:43:23 +08:00
Paul Joannon
2dc6725cc4
remove an unneeded marshalling function
...
`Variant mono_object_to_variant(MonoObject*, const ManagedType&)`
2018-01-18 10:33:43 +01:00
Paul Joannon
1de5f7e70b
fix marshalling when a function is returning an object from c#
2018-01-18 10:31:36 +01:00
Rémi Verschelde
e28cdc4654
doc: Update version string in XML
2018-01-13 11:43:42 +01:00
Ignacio Etcheverry
bff9627dc4
Mono: Some StackTrace to StackInfo[] fixes
...
- Sometimes `StackFrame.GetMethod()` returns null (e.g.: latest frame of a `MissingMethodException`). Still not sure what to do with that frame (maybe skip it), but at least it no longer fails.
- Skip `CSharpLanguage::debug_get_current_stack_info()` if an error is printed from `GDMonoUtils::update_corlib_cache()`.
- Fix crash when calling `GDMonoUtils::print_unhandled_exception(exc)` if there is no ScriptDebugger attached.
2018-01-12 19:31:15 +01:00
Ignacio Etcheverry
feb843da2b
Mono: Fix starting MonoDevelop process from the wrong appdomain
2018-01-12 19:19:20 +01:00
Bojidar Marinov
9b8e8b2220
Bind many more properties to scripts
...
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
Rémi Verschelde
a60896869e
Merge pull request #15537 from PJB3005/18-01-09-fix-color-string-constructor-mono
...
Fixes Mono color creation from string being 0-255 instead of 0-1.
2018-01-10 14:50:26 +01:00
Pieter-Jan Briers
6e14cf991a
Fixes Mono color creation from string.
...
Fixes #15468
Also improves the error messages if the string isn't hex, because saying that the color value is negative is just a side effect of the implementation and tells you nothing.
2018-01-10 13:56:30 +01:00
Ignacio Etcheverry
f7de51b3a6
Mono: Some fixes for #15463
2018-01-09 22:27:55 +01:00
Rémi Verschelde
c037f6339f
Merge pull request #15463 from neikeq/the-stack-frame-madness
...
Mono: Implement stack info for errors and exceptions
2018-01-09 19:44:10 +01:00
Ignacio Etcheverry
252702a304
Mono: Fix iteration order of object types when generating bindings
2018-01-09 19:06:59 +01:00
Ignacio Etcheverry
1c6269f2dd
External editor fixes
...
- Fix VS Code opening on the previous line to the desired one.
- Fix running MonoDevelop without the line and column parameters.
- Fix `ScriptEditor::_goto_script_line` not working with language overriden external editors.
2018-01-09 17:25:23 +01:00
Ignacio Etcheverry
5be356b72f
Mono: Implement stack info for errors and exceptions
2018-01-09 17:19:03 +01:00
Rémi Verschelde
0e6e98a65f
Fix build of GDMonoField
...
Closes #15385 .
2018-01-06 11:06:05 +01:00
Rémi Verschelde
e4213e66b2
Add missing copyright headers and fix formatting
...
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Ignacio Etcheverry
119a910bc6
Mono: Add properties support in scripts
2018-01-04 21:16:22 +01:00
Rémi Verschelde
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Ignacio Etcheverry
fe391393d4
Mono: Change BindingsGenerator singleton to avoid StringName leaks
2018-01-01 03:05:19 +01:00
Ignacio Etcheverry
b271aa48e4
Mono: Script lifetime fixes
...
- alloc_language_binding: Use strong GC handle as well for references. Fixes #15138
- Set the native instance field of Godot.Object to IntPtr.Zero when it's freed.
- Create weak handles without tracking resurrection (that was causing trouble). This means we have to call notification predelete before queueing a native Object for deletion, and use the MonoObject* passed by the finalizer because the weak GC handle target will return NULL at this point.
2018-01-01 03:05:13 +01:00
Ignacio Etcheverry
e350a56efd
Mono: Bindings no longer relie on DocData for accessors
2017-12-29 02:18:46 +01:00
Noshyaar
ab444a8ca9
Merge pull request #14996 from neikeq/enums-mono
...
Mono: Make the bindings generator output enums
2017-12-27 10:29:00 +07:00
Ignacio Etcheverry
8b0ad17b76
Merge pull request #14997 from neikeq/issue-14988
...
Marshal NULL MonoString* as empty Godot string
2017-12-24 17:50:28 +01:00
Ignacio Etcheverry
0a0a44da8d
Mono: Make the bindings generator output enums
...
- Switch to PascalCase for constants names
2017-12-24 04:20:41 +01:00
Ignacio Etcheverry
6e3d4ee9a6
Marshal NULL MonoString* as empty Godot string
2017-12-24 03:32:40 +01:00
geequlim
52ad2e5418
Add more translatable text for editor plugins.
2017-12-23 22:40:15 +08:00
PJB3005
7368a0e0f0
Fix fatal mono logs not getting logged to disk.
...
They aborted the application without flushing the log file.
Also there was a typo.
2017-12-19 17:36:33 +01:00
Andreas Haas
e7c1255b06
Mono: Build in cloned env.
...
Use a cloned env, so that toggling glue_enabled doesn't force a full rebuild as mentioned in #14584 .
2017-12-12 16:20:34 +01:00