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
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
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
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
Ignacio Etcheverry
c6ac7333a6
Mono: Fix array field being assigned MonoArray** instead of MonoArray*
...
Fixes #17601
2019-03-05 21:46:55 +01: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
Ignacio Etcheverry
8877b07f4c
Mono: Add option to print MSBuild output and improve out of sync error
2019-03-04 16:05:08 +01:00
Carter Anderson
839ed2d092
Add mono log profiler support
2019-03-02 23:32:03 -08: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
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
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
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
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +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
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
RomanAkberov
041a7bbeba
C#: fix Quat.Equals.
2019-02-19 01:01:05 +07: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
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
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
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
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
Carter Anderson
22bf89e970
Use "origin" instead of "o" in Transform2D.Rotation
2019-02-11 23:46:55 -08:00
Ignacio Etcheverry
be98a6ebbc
Merge pull request #25724 from aaronfranke/mono-transform
...
[Mono] Fix Transform2D origin
2019-02-11 22:27:49 +01:00
Ignacio Etcheverry
9115c6ab15
Merge pull request #25803 from neikeq/yy
...
Windows: Default to system MSBuild and add VSCode hint path
2019-02-11 22:25:11 +01:00
Ignacio Etcheverry
da00c338a3
Add VSCode hint path for Windows
2019-02-11 22:03:51 +01:00
Ignacio Etcheverry
9a08b90472
Default to MSBuild from VS Build Tools instead of Mono's
...
Don't pass FrameworkPathOverride to MSBuild. It's causing issues with some nuget packages.
2019-02-11 22:03:37 +01:00
Ignacio Etcheverry
eda4be193f
Merge pull request #25773 from neikeq/xx
...
Do not initialize Mono if 'res://.mono/' and mscorlib are missing
2019-02-10 19:08:28 +01:00
Ignacio Etcheverry
3afd9deded
Merge pull request #25774 from neikeq/fix-noreturn-attr-check
...
Fix check to determine if [[noreturn]] attribute is usable
2019-02-10 19:08:15 +01:00
Ignacio Etcheverry
b67955afca
Fix check to determine if [[noreturn]] attribute is usable
2019-02-10 18:45:18 +01:00
Ignacio Etcheverry
7f596270f3
Fix exporting assemblies from wrong output path
...
This is the whole reason 'fill_search_dirs' was added for, yet somehow I forgot to pass the config parameter.
2019-02-10 18:37:42 +01:00
Ignacio Etcheverry
24a2ae7f3c
Do not initialize Mono if 'res://.mono/' and mscorlib are missing
...
This is needed to avoid aborting due to missing mscorlib for projects that do not use C#.
If 'res://.mono/' exists, then we assume the project uses C#, in which case a missing mscorlib should still abort.
2019-02-10 18:34:37 +01:00
Aaron Franke
25a90bcf1a
[Mono] Fix Transform2D origin
2019-02-09 14:56:14 -05:00
Ignacio Etcheverry
9df44c2d2c
Use script instance binding for objects constructed from C#
...
Only possible if the object class is a "native type". If the object class is a user class (that derives a "native type") then a script is needed.
Since CSharpLanguage does cleanup of script instance bindings when finished, cases like #25621 will no longer cause problems.
Fixed ~Object() trying to free script instance bindings after the language has already been removed, which would result in a NULL dereference.
2019-02-09 00:32:18 +01:00
Ignacio Etcheverry
5f8c30fbca
Mono: Create player script metadata when building manually
...
Previously this was only done when building the script for running the game. This was a problem because the user could want to build the project manually with the "Build project" button, to then run the game from the command line or similar.
2019-02-08 22:49:27 +01:00
Ignacio Etcheverry
4aa4916b11
Mono: Workaround to fix 'flushing' errors when building at editor startup
2019-02-05 18:51:24 +01:00
Ignacio Etcheverry
919fa75803
Merge pull request #25574 from neikeq/ss
...
Mono: Lifetime fixes for CSharpInstance and instance binding data
2019-02-03 07:36:33 +01:00
Ignacio Etcheverry
d8593747e0
Mono: Fix default debugger agent argument never being used
2019-02-03 06:51:07 +01:00
Ignacio Etcheverry
3233083f63
Mono: Lifetime fixes for CSharpInstance and instance binding data
...
Avoid CSharpInstance from accessing its state after self destructing (by deleting the Reference owner).
It's now safe to replace the script instance without leaking or crashing.
Also fixed godot_icall_Object_weakref return reference being freed before returning.
2019-02-03 06:47:25 +01:00
Ignacio Etcheverry
4e4e889c75
Merge pull request #25478 from neikeq/rr
...
Mono: Fix MonoPosixHelper not being found
2019-02-03 06:31:52 +01:00
Ignacio Etcheverry
065828d159
Mono: Fix MonoPosixHelper not being found
2019-02-03 05:38:47 +01:00
Ignacio Etcheverry
d3c51a5dfb
Mono: Cleanup
2019-02-03 05:38:40 +01:00
Rémi Verschelde
57c0082533
Mono: Test Windows binaries with lowercase extension
...
To help users writing good cross-platform code, Godot's
`FileAccessWindows:open()` will issue a warning on case mismatch, which
happens here with capitalized extensions given by `PATHEXT` compared to
actual file extensions which are lowercase 99% of the time.
Fixes #25368 .
2019-01-27 11:54:32 +01:00
Ignacio Etcheverry
bc8b61bb06
Mono: Fix hot reload build errors and cleanup
2019-01-22 18:33:36 +01:00
Ignacio Etcheverry
077e489773
Mono: Add assembly reloading to running games
...
Add environment variable to specify a custom --debugger-agent for mono.
2019-01-21 22:44:09 +01:00
Ignacio Etcheverry
0ac5be8368
Fix C# script metadata creation error due to missing directory
2019-01-21 00:57:03 +01:00
Ignacio Etcheverry
ca8100f29f
Workaround for bug with Mono's MSBuild and BaseIntermediateOutputPath
...
BaseIntermediateOutputPath seems to be empty by default. The workaround is to explicitly set it.
Also fixed passing char instead of char[] to String.Split. Why was this even working with Mono?
2019-01-21 00:38:28 +01:00
Ignacio Etcheverry
ce36351065
Merge pull request #25080 from neikeq/mm-c
...
C# Bindings Generator: Fix vararg methods with custom return type
2019-01-18 01:30:43 +01:00
Ignacio Etcheverry
e8a1d4babd
Merge pull request #25079 from neikeq/mm-b
...
C#: Fix trying to build when there's no solution
2019-01-18 01:23:15 +01:00
Ignacio Etcheverry
8f26c54c40
C# Bindings Generator: Fix vararg methods with custom return type
2019-01-18 01:03:44 +01:00
Ignacio Etcheverry
9cd24b4f6d
C#: Fix trying to build when there's no solution
...
This would cause errors that shouldn't happen unless there was something to build.
2019-01-18 01:03:15 +01:00
Ignacio Etcheverry
b48dd1bdaf
C#: Fix crash due to missing gchandle ref null check
2019-01-17 23:15:20 +01:00
Rémi Verschelde
658296856c
Merge pull request #24877 from neikeq/issue-24280
...
Fix properties being lost when reloading placeholder GDScript instance
2019-01-10 18:02:57 +01:00
Rémi Verschelde
e5f1d19352
Consistency in resource format saver/loader de-registration
...
Some used 'is_valid()' checks, others not. Validity is already checked in 'unref()',
and 'remove_resource_format_*()' has an ERR_FAIL condition on 'is_null()' already
(which shouldn't happen since we're only unregistering things that we previously
registered.
Also add missing GDCLASS statement in ResourceFormatLoaderVideoStreamGDNative,
missed in #20552 which was last amended before #19501 was merged.
2019-01-10 12:45:57 +01:00
Ignacio Etcheverry
ea85ff0dc2
Fix properties being lost when reloading placeholder GDScript instance
...
During reloading in `GDScriptLanguage::reload_all_scripts` a placeholder instance that must remain so is replaced with a new placeholder instance. The state is then restored by calling `ScriptInstance::set` for each property. This does not work if the script is missing the properties due to build/parse failing.
The fix for such cases is to call `placeholder_set_fallback` instead of `set` on the script instance.
I took this chance to move the `build_failed` flag from `PlaceHolderScriptInstance` to `Script`. That improves the code a lot. I also renamed it to `placeholder_fallback_enabled` which is a much better name (`build_failed` could lead to misunderstandings).
2019-01-10 01:58:50 +01:00
Hein-Pieter van Braam
ee0c4a97b3
Use 'release_debug' for mono export templates
...
This fixes the previously wrong PR
Because we don't actually ship 'debug' templates to users make sure
the mono exporter picks the correct 'data' directory for export
templates.
This fixes #24752
2019-01-08 01:44:54 +01:00
Hein-Pieter van Braam
dd766bae78
Use 'release_debug' for mono export templates
...
Because we don't actually ship 'debug' templates to users make sure
the mono exporter picks the correct 'data' directory for export
templates.
This fixes #24752
2019-01-07 18:19:35 +00:00
Rémi Verschelde
1808241d16
Merge pull request #24688 from Supatier/add-additional-vscode-name
...
Add code-oss, vscode-oss, and visual-studio-code-oss to vscode path
2019-01-03 21:32:41 +01:00
supatier
ab7f102b14
Add code-oss, vscode-oss, and visual-studio-code-oss to vscode path
2019-01-02 05:40:34 +07:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
d1f3b622f0
Fix missing/malformed license headers
2019-01-01 12:46:36 +01:00
Rémi Verschelde
dcc7f2b54b
Merge pull request #24545 from akien-mga/osxcross-mono
...
SCons: Allow building Mono module with OSXCross
2018-12-30 15:07:18 +01:00
Supatier
b173eed8aa
Fix Godot unable to find VSCode binary
...
VSCode's executable name is not uniform and godot only search for "code".
2018-12-27 15:16:29 +07:00
Kelly Thomas
a5e38586ce
fix capitalization for antiquewhite
2018-12-23 08:00:35 +08:00
Rémi Verschelde
d52100f4ff
SCons: Allow building Mono module with OSXCross
...
Improve the test logic to only assume that we're building for macOS
if OSXCROSS_ROOT is defined *and* we requested p=osx.
Supersedes #24480 .
2018-12-22 12:36:19 +01:00
Kelly Thomas
09496d93b1
[Mono] Color - add ColorN(), Colors - add named color properties
2018-12-21 15:01:32 +08:00
Rémi Verschelde
9c7bc127b9
Merge pull request #24385 from hpvb/reduce-string-coew
...
Reduce String CoW
2018-12-16 19:13:35 +01:00
Hein-Pieter van Braam
4e25e5066b
Reduce String CoW
...
By introducing an intermediate proxy class for the array subscript
operator for String and CharString we can control better when CowData
will actually CoW.
This should improve performance of String usage for most cases.
2018-12-16 16:51:38 +01:00
Rémi Verschelde
9df7ed59fb
Merge pull request #19501 from Zylann/custom_loaders
...
Added basic support for custom resource savers and loaders
2018-12-16 14:26:56 +01:00
Marc Gilleron
065e2670af
Added basic support for custom resource savers and loaders
2018-12-15 05:34:53 +00:00
Ben Rog-Wilhelm
b26487a2b4
Tweaks after feedback
2018-12-08 00:54:12 -08:00
Ben Rog-Wilhelm
f13f2d512f
Implement CSharpScript::get_script_method_list and related functionality.
2018-12-07 23:54:40 -08:00
Ignacio Etcheverry
f6f2be7577
Fix crash due to ~CSharpInstance() being called on freed instance
...
This would be the case when calling SetScript on an object with a C# script.
2018-12-01 02:28:24 +01:00
Ignacio Etcheverry
5fd3ef4e78
Implement CSharpScript::is_valid()
2018-11-30 21:45:44 +01:00
Ignacio Etcheverry
989b93d6a4
Merge pull request #24091 from neikeq/ii
...
C#: Improve tool script support and fix reloading issues
2018-11-30 21:39:13 +01:00
Ignacio Etcheverry
b9b7dcdf00
C#: Improve tool script support and fix reloading issues
2018-11-30 20:43:06 +01:00
Juan Linietsky
3a93499f89
Allow signal connecting even if script is invalid (only when compiled with tools), fixes #17070
2018-11-27 19:55:37 -03:00
Carter Anderson
d339824f15
Parse C# generics and type constraints correctly
2018-11-24 18:29:23 -08:00
Ignacio Etcheverry
d275d848b3
C#: Replace calls to old of old Basis(Vec3,Vec3,Vec3) constructor
2018-11-20 22:23:09 +01:00
Rémi Verschelde
173b342ca7
Remove trailing whitespace
...
With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'`
(+ manual revert of some thirdparty code under `platform/android`).
2018-11-20 11:15:02 +01:00
Ignacio Etcheverry
5712daf2d9
Merge pull request #23833 from neikeq/hh
...
C#: Fix Basis(Vec3,Vec3,Vec3) constructor
2018-11-20 06:13:29 +01:00
Ignacio Etcheverry
bf94eed60c
C#: Fix Basis(Vec3,Vec3,Vec3) constructor
...
Now it sets axes in order to match GDScript implementation.
2018-11-20 02:08:22 +01:00
Ignacio Etcheverry
43e3582058
Merge pull request #23505 from zorbathut/zorbathut/updateproject
...
Add option for automatic project updating.
2018-11-08 18:06:24 +01:00
Ignacio Etcheverry
9fa1e0b415
Merge pull request #23595 from neikeq/ff
...
Fix assertion fail when loading assembly on project export
2018-11-08 17:10:23 +01:00
Ignacio Etcheverry
0f3fc93070
Fix assertion fail when loading assembly on project export
2018-11-08 16:47:15 +01:00
Ignacio Etcheverry
6d7dc9d98b
Merge pull request #23583 from neikeq/ee
...
Improve the C# API projects generation
2018-11-08 01:52:27 +01:00
Ignacio Etcheverry
02d5ff4cd0
Improve the C# API projects generation
...
- Now there is only one solution that contains both GodotSharp and GodotSharpEditor project. Previously we had one solution for each project
- GodotSharpEditor reference GodotShatp with a 'ProjectReference'. Previously it was a 'Reference' to the assembly
- This also simplifies the command line option to generate this solution: 'godot --generate-cs-api <OutputDir>'
2018-11-08 01:05:22 +01:00
Ryan Schmitt
366c7e0f48
Fix false error when exporting enum in c#
2018-11-05 01:22:15 -08:00
Ben Rog-Wilhelm
ff6588569b
Add option for automatic project updating.
2018-11-04 09:55:42 -08:00
Michael Alexsander Silva Dias
92342690f7
Rename "Log*()" functions to "Push*()" in C#
2018-10-31 15:40:38 -03:00
Rémi Verschelde
4fb35520fb
Merge pull request #23345 from zorbathut/brogwilhelm/logfunctions/cs
...
Add new log functions for C#.
2018-10-29 23:41:37 +01:00
Ignacio Etcheverry
2cf02f302f
Fix C# parsing the full name of base types
...
Previously it would fail if the type name included its namespace.
2018-10-28 01:31:27 +02:00
Ben Rog-Wilhelm
f2476f8a7c
Add new log functions for C#.
2018-10-25 20:32:50 -07:00
Ignacio Etcheverry
d47cec43f2
Merge pull request #23162 from neikeq/cc
...
Proper support for namespaces and other enhancement/fixes
2018-10-25 18:18:40 +02:00
Ignacio Etcheverry
1aac95a737
Parse C# script namespace and class
...
- Added a very simple parser that can extract the namespace and class name of a C# script.
2018-10-25 18:00:24 +02:00
Ignacio Etcheverry
c6e2873605
Fix msvc warnings in mono module
...
- `modules\mono\csharp_script.cpp(576): warning C4099: 'CSharpScriptDepSort': type name first seen using 'class' now seen using 'struct'`
- `modules\mono\signal_awaiter_utils.cpp(144): warning C4003: not enough actual parameters for macro 'ERR_FAIL_V'`
- `modules\mono\editor\net_solution.cpp(101): warning C4129: '%': unrecognized character escape sequence`
- (several) `modules\mono\glue\cs_compressed.gen.h(222): warning C4129: 'E': unrecognized character escape sequence`
2018-10-25 18:00:24 +02:00
Ignacio Etcheverry
92af2e620b
Do not generate API project GUIDs randomly
2018-10-25 18:00:24 +02:00
Ignacio Etcheverry
611a476224
Support globs in csproj includes
2018-10-25 18:00:17 +02:00
Ignacio Etcheverry
b42f7b7fae
C#: Fix crash when disposing Reference on domain finalize
2018-10-25 17:21:42 +02:00
Ignacio Etcheverry
454b933106
Fix internal assembly load from
...
- Also make sure we load API assemblies from 'res://.mono/assemblies/'.
2018-10-22 20:35:44 +02:00
Mads Ynddal
16c0c037c8
Removed undeclared and unused variable, which caused a compile error
2018-10-21 21:55:30 +02:00
Ignacio Etcheverry
6312f18f8e
Merge pull request #23128 from neikeq/bb
...
Make sure API assemblies are up to date at startup
2018-10-19 00:24:15 +02:00
Ignacio Etcheverry
00f758099b
Make sure API assemblies are up to date at startup
...
- If there is a solution and C# project at startup, make sure API assemblies are up to date.
- Fix prebuilt assemblies only being used when building the game project, and not in other instances.
2018-10-19 00:13:15 +02:00
Ignacio Etcheverry
2adef1e52f
Fix prefix erasing for the generated C# enum constants
2018-10-18 20:11:11 +02:00
Ignacio Etcheverry
23ae64b15e
C#: Optimize struct marshalling
...
- We no longer box struct to return them from internal calls.
- Use reinterpret_cast if the managed struct layout is the same as the native struct.
2018-10-17 22:36:26 +02:00
Ignacio Etcheverry
eeaa9124af
C# API: Hide method bind fields from debugger
2018-10-16 17:22:27 +02:00
Ignacio Etcheverry
3a9b23bcc2
Check if directory exists before trying to delete it
2018-10-08 23:03:58 +02:00
Rémi Verschelde
b17e71b6e5
Merge pull request #22808 from KellyThomas/vector-one
...
Add ONE constants to Vector2 and Vector3
2018-10-07 18:57:27 +02:00
Kelly Thomas
b150ceb62c
Update class documentation xml
2018-10-07 21:57:26 +08:00
Ignacio Etcheverry
c1dad2ae2d
C# bindings generator fixes
...
- Fix unused bool local for MonoBoolean argument.
- Append U to API hashes. Fixes warning: 'integer constant is so large that it is unsigned'
2018-10-07 11:00:05 +02:00
Rémi Verschelde
44d82b3a07
Merge pull request #22752 from aaronfranke/equals-redundant
...
Remove redundant "== true" and "== false" code
2018-10-07 10:58:45 +02:00
Ignacio Etcheverry
b63e518ce9
Mono: Fix crash on NodePath/RID disposal during Godot shutdown
2018-10-06 23:00:18 +02:00
Aaron Franke
4f7b33cdcf
Remove redundant "== false" code
...
Some of this code has been re-organized.
f
2018-10-06 16:20:41 -04:00
Aaron Franke
37386f112b
Remove redundant "== true" code
...
If it can be compared to a boolean, it can be evaluated as one in-place.
2018-10-06 16:12:36 -04:00
Rémi Verschelde
f5a77f7bdd
Merge pull request #22769 from neikeq/issue-22765
...
Fix C# API assembly build errors in generics
2018-10-05 20:04:37 +02:00
Ignacio Etcheverry
b5aa5bca12
Fix C# API assembly build errors in generics
2018-10-05 19:39:11 +02:00
Ignacio Etcheverry
9475e86078
Fix build error for windows mono export templates
2018-10-05 17:47:34 +02:00
Rémi Verschelde
6bc18042c2
Merge pull request #22760 from zochris/loosen-generic-guard
...
Loosen generic guard on some methods
2018-10-05 16:25:20 +02:00
Rémi Verschelde
aa85b7ed62
Merge pull request #22688 from neikeq/lotsofgoodies
...
Mono: Editor and export template dependencies and fixes
2018-10-05 16:24:21 +02:00
zochris
4a11864968
loosen generic guard on method for ResourceLoader
...
For more details see #22658
2018-10-05 15:32:33 +02:00
zochris
b84992e374
loosen generic guard on Node extension methods
...
For more details see #22658
2018-10-05 15:06:05 +02:00
Ignacio Etcheverry
d7ece43b74
Mono: Editor and export template dependencies and fixes
...
- Bundle editor dependencies:
- 'GodotSharp': Root data directory for the editor
- 'Tools': Editor dependencies. Only GodotSharp.dll for now.
- 'Api': Prebuilt GodotSharp and GodotSharpEditor API assemblies.
- 'Mono': Mono files to bundle with the editor.
- 'bin': (Optional, not used for now) Mono bin directory.
- 'etc': Mono configuration files.
- 'lib': Mono dependency shared libraries.
- 'lib/mono/4.5': Framework assemblies.
- Added build option to copy the required files from the mono installation to 'GodotSharp/Mono'. Enable with 'copy_mono_root=yes'. Disabled by default.
- Export template dependencies:
- 'data_AppName'/'data_Godot':
- 'Mono': Mono files to bundle with the game.
- 'etc': Mono configuration files.
- 'lib': Mono dependency shared libraries.
- The data directory is generated when compiling and must be bundled with the export templates. In the case of OSX, the data directory must be placed inside the 'osx.zip' export template.
- In OSX, alternative location for directories (needed for app bundles) are:
- 'data_AppName/Mono/etc' --> '../Resources/GodotSharp/Mono/etc'
- 'data_AppName/Mono/lib' --> '../Frameworks/GodotSharp/Mono/lib'
- The editor can bundle prebuilt API assemblies.
- Generate them with a tools build by running: `--generate-cs-core-api <GodotSharp_OutputDir> --generate-cs-editor-api <GodotSharpEditor_OutputDir> <GodotSharp_OutputDir>/bin/Release/GodotSharp.dll` (This command will be simplified in the future and both projects will be in the same solution)
- Build the solutions and copy the output files to '#bin/GodotSharp/Api'.
- Fixed API assembly being added twice during the export process.
2018-10-03 19:16:29 +02:00
Rémi Verschelde
64962fe605
Merge pull request #22653 from neikeq/mono-mod-fix-gcc-warnings
...
Fix GCC compiler warning in mono module
2018-10-03 08:43:43 +02:00
Ignacio Etcheverry
2c8980f44c
Fix GCC compiler warning in mono module
...
- thread_local.h: 'delegating constructors only available with -std=c++11 or -std=gnu++11'
- mono_reg_utils.cpp: 'extra tokens at end of #endif directive'
- mono_bottom_panel.cpp: '<fieldB> will be initialized after <fieldA> when initialized here'
- bindings_generator.cpp: 'name lookup of 'i' changed (...) matches this 'i' under ISO standard rules (...) matches this 'i' under old rules (...)'
2018-10-03 00:56:28 +02:00
Ignacio Etcheverry
50fd5ef3b5
Mono: Fix not creating generic Array or Dictionary where expected
2018-09-27 00:11:31 +02:00
Ignacio Etcheverry
0f3de6ef3a
Do not update cache if the C# API assembly is out of sync
2018-09-26 23:59:38 +02:00
Ignacio Etcheverry
e463834a8b
Fix missing mono internal call
...
- Also fixed uninitalized variable in buildscript
2018-09-17 22:54:47 +02:00
Ignacio Etcheverry
a4e4dd3966
Merge pull request #22193 from neikeq/idontlikesanditscoarseandroughandirritatinganditgetseverywhere
...
Mono: Build and external editor improvements for OSX
2018-09-17 20:22:05 +02:00
Ignacio Etcheverry
50f6dbff87
Mono: Fix opening code editors in OSX and cleanup
2018-09-17 20:00:19 +02:00
Ignacio Etcheverry
b032738a51
Add some mono root dir hints to the build script
...
This enhancement is specially noticeable in OSX, since it includes Mono's install location (both official and homebrew). This makes it possible to build Godot with Mono on OSX without pkg-config (pkg-config is bundled with Mono, but it's not added to PATH, so finding it would require finding the Mono root directory first).
2018-09-17 19:34:35 +02:00
Sophie Tauchert
99cd17b102
Check for mono binary when finding version
2018-09-16 15:20:44 +02:00
Kelly Thomas
d4b2423428
[Mono] implement Transform.InterpolateWith()
2018-09-15 13:08:21 +08:00
Fabio Alessandrelli
1e9b46d687
Clearly deprecate sync too in favor of remotesync.
...
NOTE: This changes the RPC_MODE_* enum values.
Games should be re-exported. GDNative rebuilt.
2018-09-15 00:06:03 +02:00
Fabio Alessandrelli
d6b31daec6
Rename slave keyword to puppet
...
The slave keyword will still be available as deprecated in 3.1 but will
be dropped from future releases.
2018-09-15 00:06:03 +02:00
Rémi Verschelde
1a16dabfb5
Merge pull request #21982 from luzpaz/misc-typos
...
Misc. typos
2018-09-13 10:59:00 +02:00
luz.paz
08bde5b2de
Misc. typos
...
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Ignacio Etcheverry
995a40e8ef
Move modules/mono/glue/cs_files to modules/mono/glue/Managed/Files
...
Added dummy MSBuild project and solution to get tooling help when editing these files.
2018-09-12 22:03:36 +02:00
Ignacio Etcheverry
5e57beebb1
Mono: Fix build regression due to wrong return type
2018-09-12 21:08:18 +02:00
Ignacio Etcheverry
6ae47ff19b
C#: Fix explicit enum values when exporting member
2018-09-12 18:54:20 +02:00
Rémi Verschelde
277b24dfb7
Make core/ includes absolute, remove subfolders from include path
...
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Ignacio Etcheverry
d21c64cc3b
C#: Fix cs_files glue mismatch bug
2018-09-12 03:24:08 +02:00
Ignacio Etcheverry
e558e1ec09
Fix/workaround for issue #21667
...
When a Reference managed instance is garbage collected and its finalizer is called, it could happen that the native instance is referenced once again before the finalizer can unreference and memdelete it. The workaround is to create a new managed instance when this happens (at least for now).
2018-09-12 03:24:08 +02:00
Ignacio Etcheverry
61426464ea
Add some mono root hint dirs for OSX
...
Fixes #13355
2018-09-12 03:24:08 +02:00
Ignacio Etcheverry
691d4e3835
Allow special characters in C# glue files
...
Fixes #21139
- Surround the generated file modules/mono/glue/cs_compressed.gen.h with ifdef TOOLS_ENABLED
2018-09-12 03:24:08 +02:00
Ignacio Etcheverry
b1356a3590
Cleanup of c# api files and bindings generator
...
- We no longer generate RID and NodePath C# classes. Both will be maintained manually.
- We no longer generate C# declarations and runtime registration of internal calls for the following classes: RID, NodePath, String, GD, SignalAwaiter and Godot.Object (partial base).
- We no longer auto-generate the base members of Godot.Object. They will be maintained manually as a partial class.
This makes it easier to maintain these C# classes and their internal calls, as well as the bindings generator which no longer generates C# classes that don't derive from Godot Object, and it no longer generates the Godot.Object base members (which where unreadable in the bindings generator code).
- Added missing 'RID(Object from)' constructor to the RID C# class.
- Replaced MONO_GLUE_DISABLED constant macro with MONO_GLUE_ENABLED.
- Add sources in module/mono/glue even if glue is disabled, but surround glue files with ifdef MONO_GLUE_ENABLED.
2018-09-12 03:23:45 +02:00
Aaron Franke
627ed98ed1
[Mono] Various style changes and naming standardization
2018-09-10 15:22:10 -04:00
Aaron Franke
4743852466
[Mono] Tabs -> Spaces
2018-09-10 15:12:49 -04:00
Ignacio Etcheverry
6b10e3750e
Merge pull request #21497 from neikeq/hm
...
C# generated classes ignore warning CS1591 and cleanup
2018-08-27 21:43:46 +02:00
Ignacio Etcheverry
aa2bcf3dfc
C# generated classes ignore warning CS1591 and cleanup
2018-08-27 20:39:51 +02:00
Ignacio Etcheverry
78bb53f85d
Merge pull request #21205 from KellyThomas/c-sharp-feature-parity-quat
...
[Mono] Quat - add some missing constructors and methods
2018-08-27 16:18:09 +02:00
Ignacio Etcheverry
db55d8a4b6
Merge pull request #21423 from exts/mono/collections
...
[Mono] Added Collections namespace to Array & Dictionary
2018-08-26 19:11:45 +02:00
exts
035d498af2
Added Collections namespace to Array & Dictionary
2018-08-25 17:19:37 -05:00
Juan Linietsky
8c435a343e
Merge pull request #16927 from neikeq/rework-refcount-notify
...
Notify instance binding data api of refcount increment/decrement
2018-08-25 11:01:55 -03:00
Ignacio Etcheverry
d72a281468
Merge pull request #20717 from PJB3005/18-08-04-godot-exceptions
...
Fix Mono exception handling.
2018-08-24 16:27:43 +02:00
Ignacio Etcheverry
750f128a05
Merge pull request #20707 from aaronfranke/mono-combine
...
[Mono] Move several related small files
2018-08-24 15:53:38 +02:00
Rémi Verschelde
de59fe04e7
Add print_verbose to print to stdout only in verbose mode
...
Equivalent of the cumbersome:
if (OS::get_singleton()->is_stdout_verbose())
print_line(msg);
2018-08-24 09:23:20 +02:00
Kelly Thomas
a941684590
mono: Quat - add some missing constructors and methods
2018-08-24 07:56:54 +08:00
Pieter-Jan Briers
af39684885
Fix Mono exception handling.
...
First of all, this fixes the handling of exceptions so the engine actually notices them,
it was broken in 4172fa03b5
.
Next, unhandled exceptions now do NOT cause an abort(). They're logged now,
so before #16987 . The pending exception thing still works though.
2018-08-23 20:21:36 +02:00
Aaron Franke
514856d8c7
[Mono] Move several small related files
2018-08-23 12:50:04 -04:00
Kelly Thomas
46207ae7aa
[Mono] AABB - Position, Size, End setters, Rect2 - End setter
2018-08-23 23:45:18 +08:00
Rémi Verschelde
1e729630d6
Merge pull request #21240 from aaronfranke/mono-project-vector
...
[Mono] Vector2/3 Project methods
2018-08-23 08:59:26 +02:00
Ignacio Etcheverry
908a30964a
Notify instance binding data api of refcount increment/decrement
2018-08-23 01:38:48 +02:00
Ignacio Etcheverry
980b81dd2a
Merge pull request #21174 from KellyThomas/c-sharp-feature-parity-rect2
...
[Mono] Rect2 - add Abs(), rename private fields
2018-08-22 22:34:45 +02:00
Aaron Franke
434973fb83
[Mono] Vector2/3 Project methods
2018-08-22 13:27:35 -04:00
Ignacio Etcheverry
143c471eff
Mono: Fix weird crash when loading corlib
2018-08-22 00:49:38 +02:00
Ignacio Etcheverry
5df91099c7
Merge pull request #18502 from space-wizards/18-04-29-assembly-load-hook
...
assembly_load_hook fallback for registering GDMonoAssemblies.
2018-08-22 00:27:35 +02:00
Rémi Verschelde
404ee1a56b
Style: Fix issues that went past CI
2018-08-21 21:28:06 +02:00
Rémi Verschelde
a319d72071
Merge pull request #21253 from aaronfranke/plane-constants
...
Rename Plane constants, add to Mono
2018-08-21 21:16:41 +02:00
Rémi Verschelde
2969dffbe3
Deprecate incorrect Color::gray()
...
This average is not a proper approximation of a grayscale value,
get_v() is better suited for that.
If we want a real to_grayscale() conversion, it's somewhat more
involved: https://en.wikipedia.org/wiki/Grayscale
Remove the deprecated Gray() from C# bindings as it conflicts
with new named color constants.
2018-08-21 17:48:31 +02:00
Aaron Franke
a986686ac4
Rename Plane constants, add to Mono
...
But I'm not tagging PR as [Core] or [Mono] due to it being a minor change anyway.
2018-08-21 01:35:07 -04:00
Justin Abene
c6a4ca5c9e
Prevent "cannot use a string pattern on a bytes-like object"
...
Fixes #21207
2018-08-20 00:42:47 -04:00
Kelly Thomas
792a8446ac
mono: add Abs() to Rect2 and rename private fields
2018-08-19 19:18:12 +08:00
Ignacio Etcheverry
7287300433
Mono: Improve C# core files (glue/cs_files) buildsystem
...
- Search C# files recursively in 'glue/cs_files'.
- Determine a version for the C# core files automatically. The latest modified time will do for now.
2018-08-17 13:51:55 +02:00
Rémi Verschelde
4548ec4a49
Merge pull request #20945 from neikeq/dict-erase-retbool
...
Dictionary: remove erase_checked(key), make erase(key) return bool
2018-08-15 01:08:23 +02:00
Rémi Verschelde
b4f579b5ba
Merge pull request #20583 from neikeq/issue-15371
...
Fix case where exported properties value is lost
2018-08-14 21:08:56 +02:00
Kelly Thomas
815d08f10c
mono: add constants to transform and vector structs
2018-08-15 02:03:36 +08:00
Ignacio Etcheverry
21d285e30f
Dictionary: remove erase_checked(key), make erase(key) return bool
2018-08-14 19:19:05 +02:00
Ignacio Etcheverry
d7b9fcd336
Merge pull request #20890 from KellyThomas/mono-is-instance-valid
...
mono: add IsInstanceValid(), move WeakRef()
2018-08-14 18:12:18 +02:00
Kelly Thomas
9341129d14
mono: add IsInstanceValid(), move WeakRef()
2018-08-14 15:48:54 +08:00
Rémi Verschelde
695b8d254e
SCons: Fix mono_root initialization
...
As advised by @neikeq.
2018-08-14 08:55:37 +02:00
Ignacio Etcheverry
c4e75aa63a
Merge pull request #20706 from mysticfall/issue-20705
...
Add missing GetPtr() for Dictionary<> and Array<>
2018-08-13 22:37:09 +02:00
Teashrock
51a0a38135
Fixed absent variable exception while trying to raise another exception.
2018-08-13 16:28:28 +02:00
George Marques
eb48119821
Added system for GDScript warnings
...
- Count and panel per script.
- Ability to disable warnings per script using special comments.
- Ability to disable warnings globally using Project Settings.
- Option to treat enabled warnings as errors.
2018-08-10 16:00:47 -03:00
Juan Linietsky
ea3d997f9d
Revert "added get_creation_time function for gdscript"
2018-08-10 13:29:49 -03:00
Juan Linietsky
275e0d5ee4
Merge pull request #18914 from notwarp/master
...
added get_creation_time function for gdscript
2018-08-10 13:28:47 -03:00
Xavier Cho
5d2c239772
Add missing GetPtr() for Dictionary<> and Array<>
...
Add missing GetPtr() method for generic versions of Dictionary
and Array to fix #20705 .
2018-08-04 14:34:55 +09:00
Ignacio Etcheverry
b911165679
Merge pull request #20600 from exts/new_generic_methods
...
Mono: Added generic methods for PackedScene & ResourceLoader
2018-08-04 05:22:38 +02:00
exts
cdb4ae471b
Added generic method for ResourceLoader: Load<T>()
2018-08-03 13:40:42 -05:00
Ignacio Etcheverry
3fa2404a79
Merge pull request #20644 from NickToony/master
...
Fixed Windows mono compile
2018-08-01 03:52:46 +02:00
Nick Hope
24b4694313
fixed: windows mono compile ( #20598 )
...
tidy: formatting.
2018-07-31 21:16:47 +01:00
Ignacio Etcheverry
ccce161d0e
Merge pull request #20639 from neikeq/issue-20531-and-cleanup
...
Mono: Fix property set_value and cleanup
2018-07-31 20:10:04 +02:00
Ignacio Etcheverry
4172fa03b5
Mono: Fix property set_value and cleanup
2018-07-31 19:49:16 +02:00
Ignacio Etcheverry
f3c7527225
Fix case where exported properties value is lost
...
Fixes exported property modified values lost when creating a placeholder script instance with a failed script compilation
- Object set/get will call PlaceHolderScriptInstance's new fallback set/get methods as a last resort. This way, placeholder script instances can keep the values for storage or until the script is compiled successfuly.
- Script::can_instance() will only return true if a real script instance can be created. Otherwise, in the case of placeholder script instances, it will return false.
- Object::set_script(script) is now in charge of requesting the creation of placeholder script instances. It's no longer Script::instance_create(owner)'s duty.
- PlaceHolderScriptInstance has a new method set_build_failed(bool) to determine whether it should call into its script methods or not.
- Fixed a few problems during reloading of C# scripts.
2018-07-29 22:40:12 +02:00
Hein-Pieter van Braam
0deb8dda51
Fix Mono compilation on Windows/Ming
...
(cherry picked from commit 83140541dc
)
2018-07-29 22:31:38 +02:00
Viktor Ferenczi
c5bd0c37ce
Running builder (content generator) functions in subprocesses on Windows
...
- Refactored all builder (make_*) functions into separate Python modules along to the build tree
- Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere
- Introduced stub to use the builders module as a stand alone script and invoke a selected function
There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp)
on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky
builds. Running all such content generators in a new subprocess instead of directly inside the
build script works around the issue.
Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle.
Suggested workaround did not fully work either.
Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of
running a cross-compilation on Windows they would still be used, but likely it will not happen
in practice. What counts is that the build itself is running on which platform, not the target
platform.
Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
2018-07-27 21:37:55 +02:00
Paul Joannon
877ea882ce
Add missing methods to Node class in the mono glue
...
* GetNodeOrNull<T>
* GetChild<T>
* GetChildOrNull<T>
* GetOwner<T>
* GetOwnerOrNull<T>
* GetParent<T>
* GetParentOrNull<T>
2018-07-27 08:50:35 +02:00
Rémi Verschelde
47a7dc7b3c
Merge pull request #18282 from aaronfranke/better-mathf
...
[Core] [Mono] Fix Color missing int export methods, added 64-bit
2018-07-26 10:48:47 +02:00
Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Aaron Franke
e3368d692d
[Mono] Fix Color incorrect ordering of int export methods, added 64-bit
...
[Mono] Fix Color incorrect ordering of int export methods, added 64-bit long export methods.
2018-07-25 15:34:24 -05:00
Ignacio Etcheverry
762c912e8e
Fix continuous attempt to reload domain with API assemblies out of sync
2018-07-25 21:54:21 +02:00
Ignacio Etcheverry
f1130f9a8a
Mono: Fix domain reload never triggering
2018-07-25 21:31:02 +02:00
Ignacio Etcheverry
8edf85b09c
Fix '!valid' error spam on C# script instance create
2018-07-25 21:30:49 +02:00
Ignacio Etcheverry
5aefe5d936
Mono: Fix null dereferences
2018-07-25 21:30:11 +02:00
Ignacio Etcheverry
fe28e323b3
Merge pull request #20298 from PJB3005/18-07-20-mono-partial-api-ext
...
Makes Mono binding classes partial & adds GetNode<T>.
2018-07-25 18:03:57 +02:00
Ignacio Etcheverry
779c9d638e
Merge pull request #15880 from neikeq/better-collections
...
Mono: Add Dictionary and Array classes
2018-07-23 23:59:04 +02:00
Rémi Verschelde
df170d81cc
Mono: Default to not shipping C# scripts content
...
Fixes #20053 .
2018-07-22 17:28:17 +02:00
Ignacio Etcheverry
525384d8cc
Merge pull request #20337 from aaronfranke/mono-pascal-gd
...
[Mono] Improvements to GD.cs: PascalCasing and real_t
2018-07-22 03:49:58 +02:00
Rémi Verschelde
7478649b2f
Merge pull request #20229 from aaronfranke/mono-warning-text
...
[Mono] Update about/warning text
2018-07-22 00:40:15 +02:00
Aaron Franke
174cf31d00
[Mono] Improvements to GD.cs: PascalCasing and real_t
...
[Mono] Improvements to GD.cs: PascalCasing and real_t
2018-07-21 16:40:46 -05:00
Aaron Franke
69530ef614
[Mono] Update about/warning text
...
I've removed the section about being unable to export games using C# - as you are now able to do this, as long as the export templates are installed. Also, I've made a few minor grammar tweaks.
2018-07-21 15:26:41 -05:00
George Marques
03746da73f
Add editor highlight for type-safe lines
...
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
Pieter-Jan Briers
a8c97eb094
Makes Mono bindings partial & adds GetNode<T>.
2018-07-20 13:55:13 +02:00
Ignacio Etcheverry
ee3c476c9a
Add Array and Dictionary wrapper classes to C#
2018-07-20 01:44:30 +02:00
oisincar
7a4d593198
Fix bug with Basis.Transposed()
...
Fix bug where Basis.Transposed() incorrectly updated local basis, and
returned an unmodified copy. This also fixes Transform.Inverse().
2018-07-19 00:17:45 +01:00
Ignacio Etcheverry
a731bd5864
Merge pull request #20253 from neikeq/nobranchnameideasfeelsbadman
...
Make C# bindings generator ignore disabled classes
2018-07-18 21:20:34 +02:00
Ignacio Etcheverry
92c7fe422b
Make C# bindings generator ignore disabled classes
2018-07-18 21:15:41 +02:00
Rémi Verschelde
7c9f7452f4
Style: Format code with clang-format 6.0.1
2018-07-18 16:27:03 +02:00
Mads Ynddal
39aabba0a9
Added path for Mono installed through Homebrew
...
On macOS, it is common to install packages like Mono through the third-party
package-manager Homebrew. This commit simply adds an additional path to
where Homebrew installs the Mono framework.
2018-07-10 00:29:05 +02:00
Ignacio Etcheverry
d4f860c768
Merge pull request #19231 from aaronfranke/mono-fposmod-to-mod
...
[Mono] Rename Fposmod to PosMod, fix output
2018-07-05 01:05:44 +02:00
Ignacio Etcheverry
02372bfdf7
Merge pull request #19872 from exts/export_signals
...
Mono: Fixes annotated signal loading in exported binaries
2018-07-04 21:30:49 +02:00
Ignacio Etcheverry
769f172602
Merge pull request #19756 from NathanWarden/mono_lerp_fixes
...
[C#] Lerp now consistent with Godot API. InverseLerp fixed.
2018-07-04 21:23:50 +02:00
Ignacio Etcheverry
33fd0f762d
Mono: Fix build script not decoding process utf-8 output
2018-07-04 16:07:52 +02:00
=
489c9adf03
Mono: Fixes annotated signal loading in exported binaries
2018-07-03 22:12:27 -05:00
Ignacio Etcheverry
ac9e736b06
Merge pull request #16987 from neikeq/pending-exceptions
...
Mono: Pending exceptions and cleanup
2018-07-04 03:45:10 +02:00
Ignacio Etcheverry
4739cb8c00
Mono: Pending exceptions and cleanup
2018-07-04 03:08:29 +02:00
Kelly Thomas
88b89c2084
Changes to default C# script template ( #19940 )
2018-07-04 03:00:07 +02:00
Max Hilbrunner
0705eb904a
Merge pull request #19251 from YeldhamDev/script_templates_changes
...
Small changes to the comments in the script templates
2018-07-03 16:48:03 +02:00
Kelly Thomas
753230c275
convert unicode mono root path to ascii string
2018-06-30 08:58:41 +08:00
Aaron Franke
5b2b23c9a9
[Mono] Rename Fposmod to PosMod
...
[Mono] Rename Fposmod to PosMod
2018-06-27 00:58:24 -05:00
Nathan Warden
c2315e3291
Lerp now consistent with Godot API. InverseLerp fixed.
2018-06-24 17:52:17 -05:00
Ignacio Etcheverry
25275de50e
Merge pull request #19016 from neikeq/w
...
Mono: Module build improvements
2018-06-22 19:18:15 +02:00
Ignacio Etcheverry
ec6416d2b6
Mono: Module build improvements
...
- Add (Csc/Vbc/Fsc)ToolExe environment variables when running Mono's MSBuild.
- Fix directory for the 'mono_assemblies_output_dir' argument being created with the '#' top level directory token as part of its name.
- Allow to build with 'mono_static=yes' on Unix without specifying a mono prefix. The build script will try to find the mono prefix using the output from pkg-config.
2018-06-22 19:14:58 +02:00
Michael Alexsander Silva Dias
fd17b960e9
Small changes to the comments in the script templates.
2018-06-11 02:04:51 -03:00
Kelly Thomas
17516822f9
allow undefined GODOT_DEBUG_MSBUILD environment variable
2018-06-06 22:31:54 +08:00
Ignacio Etcheverry
b4f66e04e8
Merge pull request #19387 from neikeq/y
...
Mono fixes and improvements
2018-06-05 22:28:46 +02:00
Ignacio Etcheverry
4a021fa7a2
Mono: Add 'View log' button to open the MSBuild log of a build
2018-06-05 22:21:52 +02:00
Ignacio Etcheverry
25f10b3c40
Mono: Fix passing wrong logger assembly path to MSBuild
...
- Add option to print MSBuild's stdout and stderr instead of redirecting it. This can be enabled by setting the environment variable: Godot_DEBUG_MSBUILD=1
2018-06-05 22:18:43 +02:00
Ignacio Etcheverry
7933a6cc9f
Mono: Null checks when marshaling from MonoArray* and managed Dictionary
2018-06-05 22:14:32 +02:00
Rémi Verschelde
6e32a2886f
Merge pull request #18792 from PJB3005/18-05-11-objectdb-verbose-mono
...
Fixes ObjectDB leak printout with mono.
2018-06-05 10:03:11 +02:00
Hein-Pieter van Braam
f2d669f5d3
Fix Mono static linking on Mingw
2018-06-01 21:46:46 +02:00
Rémi Verschelde
3334209a73
SCons: Pass env to modules can_build method
...
This allows to disable modules based on the environment,
in particular `env[tools]` which tells us if we are
building the editor or not.
2018-05-30 19:11:36 +02:00
Fabio Alessandrelli
8e35d937a9
New sync keywords in GDScript, NativeScript, Mono
2018-05-29 20:26:41 +02:00
Fabio Alessandrelli
1400f6fdc4
Refactor RPCMode enum and checks
2018-05-29 20:26:41 +02:00
Max Hilbrunner
4c69a495c9
Revert "RPCMode refactor, more sync modes"
2018-05-29 11:47:52 +02:00
Max Hilbrunner
d0b62ce155
Merge pull request #19021 from Faless/rpc_sync_fix
...
RPCMode refactor, more sync modes
2018-05-29 09:44:03 +02:00
Ignacio Etcheverry
97fb999976
Mono: Fix MonoImage filename being set to an invalid path
2018-05-27 17:15:41 +02:00
Fabio Alessandrelli
a5e8a3be5e
New sync keywords in GDScript, NativeScript, Mono
2018-05-26 10:49:33 +02:00
Fabio Alessandrelli
9de4ffde61
Refactor RPCMode enum and checks
2018-05-26 10:43:43 +02:00
Ignacio Etcheverry
a830e633a2
Merge pull request #19074 from cart/optimize-mono-pool-marshal
...
Reduce allocations when converting mono arrays to pool arrays
2018-05-25 11:04:16 +02:00
Rémi Verschelde
17faf11119
Merge pull request #19063 from KellyThomas/c-sharp-feature-parity-vectors
...
mono: Add Slerp method to vector classes, expose Cross method for Vector2
2018-05-25 09:44:03 +02:00
Ignacio Etcheverry
64c903580e
Merge pull request #19149 from neikeq/x
...
Mono: Improve 'script class not found' error
2018-05-24 20:38:18 +02:00
Ignacio Etcheverry
c8945fe7d8
Mono: Improve 'script class not found' error
...
No longer printed when using using placeholder script instances (for non-tool scripts in the editor).
Print different error if the project assembly is not loaded
2018-05-24 20:16:23 +02:00
Michael Alexsander Silva Dias
4e257293d9
Capitalized comments of methods created by the Connect Signal dialog.
2018-05-23 18:11:00 -03:00
Kelly Thomas
b335274bcd
mono: add Slerp method to vector classes, expose Cross method for Vector2, and fix unnecessary casts in Basis
2018-05-22 08:27:49 +08:00
Kelly Thomas
c7e98eef67
Fix index out of range error in string.Extension()
2018-05-21 18:48:53 +08:00
Carter Anderson
56262ceafe
Reduce allocations when converting mono arrays to pool arrays
2018-05-20 18:18:06 -07:00
Rémi Verschelde
228b09bafb
Merge pull request #18974 from KellyThomas/c-sharp-feature-parity-basis
...
Mono: Basis constructor for euler parameter
2018-05-18 21:09:57 +02:00
Ignacio Etcheverry
fc90f41f53
Merge pull request #18975 from KellyThomas/c-sharp-feature-parity-color
...
mono: New Color methods: Darkened, Lightened and ToRgba32
2018-05-18 20:09:01 +02:00
Kelly Thomas
16e1b4bacf
mono: Plane, expose Normal, and D
2018-05-17 23:04:20 +08:00
Kelly Thomas
88bd33f451
mono: New Color methods: Darkened, Lightened and ToRgba32
2018-05-17 21:41:19 +08:00
Kelly Thomas
c26d30986a
Mono: Basis constructor for euler parameter
2018-05-17 21:31:14 +08:00
Michele Valente
6c74f3de6d
fixes build error on Linux after its introduction in #18949
...
The function expects now a return value. Returning NULL seems to work in
this case.
2018-05-17 11:34:05 +02:00
Rémi Verschelde
c3510cd981
Merge pull request #18949 from neikeq/alo
...
Mono: Project building fixes
2018-05-17 08:33:54 +02:00
Ignacio Etcheverry
01397a10d9
Mono: Project building fixes
...
- Set (Csc/Vbc/Fsc)ToolExe environment variables to point to the batch files in Mono's bin directory when building with Mono's MSBuild.
- Set Mono's MSBuild as the default build tool on Windows.
- Generate projects with portable DebugType instead of full.
2018-05-17 01:26:23 +02:00
Ignacio Etcheverry
41f79a6f14
Merge pull request #18889 from madadam/async-await-fix
...
Set current SynchronizationContext before the game loop starts
2018-05-16 23:44:55 +02:00
Guilherme Felipe
35024d4e7b
Add missing copyright headers
2018-05-16 14:50:44 -03:00
Daniele Giuliani
d315b0fb8a
added get_creation_time function for gdscript
2018-05-16 00:50:57 +02:00
Juan Linietsky
005b69cf6e
-New inspector.
...
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)
-
2018-05-15 17:14:31 -03:00
Adam Cigánek
f25240cfe6
Set current SynchronizationContext before the game loop starts
...
This fixes the problem that `SynchronizationContext.Current` would be null
during the call to `_EnterTree`, `_Ready` and the first call to `_Process` thus
the task continuations would be scheduled outside the main thread, which is unexpected and might lead to crashes.
With this change, task continuations are scheduled always on the main thread and so async/await can be used without any explicit synchronization, which is what is expected.
Fixes #18849
2018-05-15 15:09:40 +02:00
Pieter-Jan Briers
27d70924a0
Fixes ObjectDB leak printout with mono.
...
Fixes #18767
2018-05-11 13:50:56 +02:00
Kelly thomas
a6bd2c6e72
round / ceil methods for c sharp vectors
2018-05-04 20:17:10 +08:00
Max Hilbrunner
ffb6f8f1ca
Merge pull request #18406 from YeldhamDev/script_templates_period
...
Changed periods in the script templates
2018-05-04 11:20:16 +02:00
Ignacio Etcheverry
a02fec47a0
Merge pull request #18562 from neikeq/issue-18526
...
Fix MSVC check when building with mono
2018-05-02 18:24:57 +02:00
Michael Alexsander Silva Dias
093b069bf6
Changed periods in the script templates.
2018-05-02 11:42:09 -03:00
Ignacio Etcheverry
a1aa98e05a
Fix MSVC check when building with mono
2018-05-02 15:19:02 +02:00
Ignacio Etcheverry
c0192e405d
Merge pull request #18561 from neikeq/fix-find-msbuild-2
...
Fix editor detecting msbuild with a msvc 'tools only' install
2018-05-02 15:13:44 +02:00
Ignacio Etcheverry
93d13bee8b
Fix editor detecting msbuild with a msvc 'tools only' install
2018-05-02 15:06:25 +02:00
Hein-Pieter van Braam
0ec912a79e
Fix msbuild with a msvc 'tools only' install
...
Taken from https://github.com/Microsoft/vswhere/wiki/Find-MSBuild
without '-products *' vswhere does not locate msbuild when installing a
tools-only (no IDE) version of the microsoft compilers.
2018-04-30 12:52:18 +02:00
Pieter-Jan Briers
ce4451b45f
assembly_load_hook fallback for registering GDMonoAssemblies.
...
Fixes #18029 .
There are ways to load assemblies that the search hook has no way of intercepting,
and handling itself. Such as loading from a byte[] in C# code.
We now handle these cases with a fallback assembly_load_hook,
to avoid crashes when this is indeed done.
2018-04-29 16:32:30 +02:00
Ignacio Etcheverry
fbc808012f
Mono: BindingsGenerator enum fixes
...
- Make enums have an unique signature name of int. This means that when generating internal methods, there is no difference between different enums types nor between enums and int. This way enums can re-use internal methods.
- Make type resolver fallback to int if a type is not found and it's an enum.
2018-04-28 22:25:25 +02:00
Ignacio Etcheverry
b5e6e142ef
Add option to link mono statically on Windows
2018-04-25 21:15:35 +02:00
Ignacio Etcheverry
6faa96fb89
Merge pull request #18399 from neikeq/u
...
Mono fixes
2018-04-24 20:58:25 +02:00
Ignacio Etcheverry
ff7fe9e771
Mono: Fix '!t' error messages when generating bindings
...
This error wasn't affecting the bindings generation process.
2018-04-24 20:47:06 +02:00
Ignacio Etcheverry
f8ce412560
Mono: Do not spam script class not found error
...
Print this error only when trying to instantiate the script. This way we prevent errors being printed for source files which are not meant to be used as scripts.
2018-04-24 20:46:57 +02:00
Ignacio Etcheverry
89e84185e8
Mono: Fix crash on script load if the scripts domain isn't loaded
2018-04-24 20:46:53 +02:00
Xavier Cho
6b611e6431
#18051 : Fix indentation issues introduced during clean up
2018-04-17 07:53:27 +09:00
Xavier Cho
e59fad3924
#18051 : Do not use `var` in a for-loop, or where type is not obvious
2018-04-17 07:39:37 +09:00
Xavier Cho
94edd92248
#18051 : Use common name for Color type argument
2018-04-17 07:39:37 +09:00
Xavier Cho
f0bf5532fa
#18051 : Remove redundant verbatim prefixes
2018-04-17 07:39:37 +09:00
Xavier Cho
85787776a5
#18051 : Use default parameter value
2018-04-17 07:39:37 +09:00
Xavier Cho
b765c051cb
#18051 : Use array initializer when applicable
2018-04-17 07:39:37 +09:00
Xavier Cho
9097c71255
#18051 : Remove redundant parenthesis
2018-04-17 07:39:37 +09:00
Xavier Cho
93dd59d763
#18051 : Remove unnecessary variable assignments
2018-04-17 07:39:37 +09:00
Xavier Cho
fdfc478c88
#18051 : Use 'var' when applicable
2018-04-17 07:39:37 +09:00
Xavier Cho
0ef3e0577b
#18051 : Remove redundant casts and 'using', 'else', 'this' statements
2018-04-17 07:39:37 +09:00
Xavier Cho
9e2e6bb1e2
Remove duplicated declaration of RoundToInt() from Mathf
2018-04-17 07:39:37 +09:00
Ignacio Etcheverry
e3590a2522
Merge pull request #18038 from Chaosus/mathf
...
[Mono] Improvements for Mathf
2018-04-13 22:22:28 +02:00
Chaosus
655a4e6540
[Mono] Improve Mathf
2018-04-13 20:15:49 +03:00
Ignacio Etcheverry
ea0e73f3c8
Merge pull request #17864 from NikodemL/fix_mono_bottom_panel_issue_activated
...
Fixed mono bottom panel to select the correct file when messages are filtered
2018-04-09 09:15:43 +02:00
Rémi Verschelde
95b499644e
Merge pull request #17834 from Rubonnek/move-to-initializer-list
...
Move GodotSharp and MonoBuildTab member variables to initializer list
2018-04-03 21:01:58 +02:00
Alexander Alekseev
5677aed175
[mono] Fixes #17936 as GodotSharp (Core\Basic.cs) requires C#7 now, but we most probably should keep C#6 yet
2018-04-03 09:48:03 +03:00
Nikodem Lokatelj
4fdee1d9f1
Fixed _issue_activated to take the correct issue id from the list
2018-03-30 16:32:14 +02:00
Wilson E. Alvarez
3f86fefb64
Move GodotSharp and MonoBuildTab member variables to initializer list
2018-03-27 21:14:52 -04:00
Chaosus
d52722c6da
Added wrap functions to C#
2018-03-26 14:33:09 +03:00
Carter Anderson
91f271fa9e
Fix mono basis GetEuler bug and marshalling/unmarshalling
2018-03-24 13:45:11 -07:00
Ignacio Etcheverry
a8d8c06753
Merge pull request #17134 from aaronfranke/master
...
[Mono] Replace float with real_t, other misc C# improvements
2018-03-24 21:10:41 +01:00
Aaron Franke
ff97c97c93
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.
2018-03-22 21:53:21 -05:00
PJB3005
6a7f552c6f
Fix mono build properly!
...
Fixes the mistake I made in #17603 to make it require Python > 3.6.
2018-03-19 16:36:03 +01:00
Rémi Verschelde
4f97d5a7e2
Merge pull request #17603 from PJB3005/18-03-18-fix-mono-build-python3
...
Fix Mono builds with Python 3.
2018-03-19 09:53:23 +01:00
Ignacio Etcheverry
883afd1b4d
Merge pull request #17619 from neikeq/mono-runtime-main-args
...
Mono: Runtime main args and assembly search fixes
2018-03-18 23:16:44 +01:00
Ignacio Etcheverry
fa1d656af4
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.
2018-03-18 23:07:04 +01:00
Pieter-Jan Briers
998f1977a8
Fix Mono builds with Python 3.
...
A subprocess call wasn't specifying an encoding,
so this gave a TypeError in Python 3.
2018-03-18 10:51:35 +01:00
Ignacio Etcheverry
389ad72399
Merge pull request #17179 from paulloz/mono-assemblies-preload-facades
...
[mono] add the 'Facades' subfolder to the searched directories
2018-03-16 21:40:42 +01:00
Rémi Verschelde
99c1323a08
Merge pull request #17388 from Hinsbart/mono_class_name
...
Mono: Avoid invalid class names.
2018-03-15 19:47:39 +01:00
Andreas Haas
700d07cf7c
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
2018-03-15 19:25:06 +01:00
Paul Joannon
ef5672d3f9
[mono] write classes with no constructor as abstract
2018-03-04 15:37:39 +01:00
Paul Joannon
d7020aef8d
[mono] rename functions to conform to PascalCase
...
in:
* StringExtensions.cs
* Transform.cs
2018-03-04 15:37:29 +01:00
Paul Joannon
22606a7bec
[mono] add the 'Facades' subfolder to the searched directories in _preload_hook
2018-03-02 13:38:29 +01:00
Hein-Pieter van Braam
c094e90b25
More reliably find mscorlib.dll on Linux
2018-02-27 21:52:24 +01:00
Rémi Verschelde
3fa77b3172
doc: Remove status from hardcoded version string
...
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
Rémi Verschelde
a6d4438fab
Merge pull request #17075 from paulloz/fix-build-mono-debug-notools
...
[mono] fix build error when compiling with mono, tools=no, target=debug
2018-02-27 11:24:54 +01:00
Rémi Verschelde
75c7e66c5e
Merge pull request #15641 from neikeq/mono-is-picky-regarding-corlib-so-we-must-make-sure-to-ship-the-right-version-otherwise-something-bad-may-happen
...
Mono: Buildsystem improvements
2018-02-27 11:08:17 +01:00
Paul Joannon
90a705d671
fix build error when compiling with mono, tools=no, target=release
...
change TTR to RTR in `print_unhandled_exception`
2018-02-27 10:36:58 +01:00
Rémi Verschelde
1bd0fd90cc
Merge pull request #17046 from NathanWarden/fixed_mono_marshalling
...
[Mono] The marshalling *in* of Transform was also incorrect.
2018-02-26 22:42:31 +01:00
Nathan Warden
60daa9d718
The marshalling in was also incorrect.
2018-02-26 10:01:21 -05:00
Ignacio Etcheverry
f37090ccf4
Mono: Better versioning and gracefully unloading of Godot API assemblies
2018-02-25 20:56:27 +01:00
Rémi Verschelde
08584b7e22
Merge pull request #16804 from Valentactive/fix_mono_template_compiling
...
fix template builds with mono
2018-02-25 10:11:10 +01:00
Ignacio Etcheverry
3647ebc834
Merge pull request #16981 from paulloz/mono-nested-exceptions
...
[mono] show whole trace of nested exceptions
2018-02-24 21:44:33 +01:00
Paul Joannon
89af6c2cd7
[mono] get stacktraces for all inner exceptions
2018-02-24 21:18:06 +01:00