summaryrefslogtreecommitdiff
path: root/modules/mono/mono_gd
AgeCommit message (Collapse)Author
2019-04-06C#: Support type hints for exported ArraysIgnacio Etcheverry
Added the code for Dictionary as well, but it's not yet supported by the Godot inspector.
2019-04-06C#: Add marshalling support for IEnumerable and IDictionaryIgnacio Etcheverry
Added constructor that takes IEnumerable for Array and IEnumerable<T> for Array<T>. Added constructor that takes IDictionary for Dictionary and IDictionary<TKey, TValue> for Dictionary<TKey, TValue>.
2019-03-10Mono: Some assembly referencing changes and cleanupIgnacio Etcheverry
Apparently we don't need to call mono_debug_close_image ourselves and we can call mono_image_close right away as it's not our duty to keep that reference.
2019-03-09Mono: Fix assemblies path String incorrectly constructed from utf8Ignacio Etcheverry
Also fixed a wrong ifdef that was causing Mono to never be initialized if mscorlib was not found (which was the case with the utf8 assemblies path bug this commit fixes). This condition was meant for exported projects only, not for the editor only.
2019-03-08Merge pull request #26746 from shartte/godot-trace-listenerIgnacio Roldán Etcheverry
Add a custom TraceListener on Startup for Mono
2019-03-07Added a Godot TraceListener, which is automatically installed on startup. ↵Sebastian Hartte
Fixes that Debug/Trace Assertions are simply swallowed by Godot.
2019-03-07Mono: Fix crash when re-using script binding after domain reloadingIgnacio Etcheverry
2019-03-05Merge pull request #26661 from neikeq/issue-17601Ignacio Etcheverry
Mono: Fix array field being assigned MonoArray** instead of MonoArray*
2019-03-05Mono: Fix array field being assigned MonoArray** instead of MonoArray*Ignacio Etcheverry
Fixes #17601
2019-03-04Merge pull request #26591 from neikeq/oiRémi Verschelde
Mono: Add option to print MSBuild output and improve out of sync error
2019-03-04Mono: Add option to print MSBuild output and improve out of sync errorIgnacio Etcheverry
2019-03-02Add mono log profiler supportCarter Anderson
2019-02-27Fix -Wsign-compare warnings.marxin
I decided to modify code in a defensive way. Ideally functions like size() or length() should return an unsigned type.
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-02-19C#: Add 'Singleton' property to singleton wrapper classIgnacio Etcheverry
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-19Merge pull request #25890 from neikeq/issue-25818Ignacio Etcheverry
Fix Godot.Reference marshalling from MonoObject* to Variant
2019-02-15Don't print 'Cannot find Mono in the registry' if bundled with GodotIgnacio Etcheverry
Closes #24753
2019-02-15Mono: Fix export template build errorsIgnacio Etcheverry
Fixes #25903
2019-02-14Fix Godot.Reference marshalling from MonoObject* to VariantIgnacio Etcheverry
Need to cast Ref<T> to Variant instead of constructing Variant from Object*, otherwise the Variant won't hold a reference.
2019-02-13Merge pull request #25821 from akien-mga/sync-class-and-filenamesRémi Verschelde
Ensure classes match their header filename
2019-02-12Modules: Ensure classes match their header filenameRémi Verschelde
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-12Merge pull request #25721 from neikeq/wwRémi Verschelde
Use script instance binding for objects constructed from C#
2019-02-10Do not initialize Mono if 'res://.mono/' and mscorlib are missingIgnacio Etcheverry
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-09Use script instance binding for objects constructed from C#Ignacio Etcheverry
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-03Merge pull request #25574 from neikeq/ssIgnacio Etcheverry
Mono: Lifetime fixes for CSharpInstance and instance binding data
2019-02-03Mono: Fix default debugger agent argument never being usedIgnacio Etcheverry
2019-02-03Mono: Lifetime fixes for CSharpInstance and instance binding dataIgnacio Etcheverry
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-03Mono: Fix MonoPosixHelper not being foundIgnacio Etcheverry
2019-02-03Mono: CleanupIgnacio Etcheverry
2019-01-22Mono: Fix hot reload build errors and cleanupIgnacio Etcheverry
2019-01-21Mono: Add assembly reloading to running gamesIgnacio Etcheverry
Add environment variable to specify a custom --debugger-agent for mono.
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2019-01-01Fix missing/malformed license headersRémi Verschelde
2018-12-16Reduce String CoWHein-Pieter van Braam
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-08Tweaks after feedbackBen Rog-Wilhelm
2018-12-07Implement CSharpScript::get_script_method_list and related functionality.Ben Rog-Wilhelm
2018-11-30Merge pull request #24091 from neikeq/iiIgnacio Etcheverry
C#: Improve tool script support and fix reloading issues
2018-11-30C#: Improve tool script support and fix reloading issuesIgnacio Etcheverry
2018-11-08Merge pull request #23583 from neikeq/eeIgnacio Etcheverry
Improve the C# API projects generation
2018-11-08Improve the C# API projects generationIgnacio Etcheverry
- 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-05Fix false error when exporting enum in c#Ryan Schmitt
2018-10-25Merge pull request #23162 from neikeq/ccIgnacio Etcheverry
Proper support for namespaces and other enhancement/fixes
2018-10-25Parse C# script namespace and classIgnacio Etcheverry
- Added a very simple parser that can extract the namespace and class name of a C# script.
2018-10-22Fix internal assembly load fromIgnacio Etcheverry
- Also make sure we load API assemblies from 'res://.mono/assemblies/'.
2018-10-21Removed undeclared and unused variable, which caused a compile errorMads Ynddal
2018-10-17C#: Optimize struct marshallingIgnacio Etcheverry
- 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-06Mono: Fix crash on NodePath/RID disposal during Godot shutdownIgnacio Etcheverry
2018-10-05Fix build error for windows mono export templatesIgnacio Etcheverry
2018-10-03Mono: Editor and export template dependencies and fixesIgnacio Etcheverry
- 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-09-27Mono: Fix not creating generic Array or Dictionary where expectedIgnacio Etcheverry