summaryrefslogtreecommitdiffstats
path: root/modules/mono/mono_gd/gd_mono_utils.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Mono/C#: Add error checks to detect possible Reference leaksIgnacio Etcheverry2020-01-131-0/+1
|
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Mono/C#: WebAssembly supportIgnacio Etcheverry2019-11-131-294/+21
|
* C#: Fix detection of outdated release Godot API assembliesIgnacio Etcheverry2019-10-111-0/+2
|
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'modules/mono'Ignacio Etcheverry2019-08-091-12/+8
| | | | | | And 'CRASH_*_MSG' as well. Also make error messages puntuation and quotation more consistent.
* Mono: Add option to keep running after unhandled exceptionsIgnacio Etcheverry2019-07-241-5/+12
| | | | | By default, an unhandled exception will cause the application to be terminated; but the project setting `mono/unhandled_exception_policy` was added to change this behaviour. The editor is hard-coded to never terminate because of unhandled exceptions, as that would make writing editor plugins a painful task, and we cannot kill the editor because of a mistake in a thirdparty plugin.
* Re-write mono module editor code in C#Ignacio Etcheverry2019-07-051-47/+67
| | | | | | | | Make the build system automatically build the C# Api assemblies to be shipped with the editor. Make the editor, editor player and debug export templates use Api assemblies built with debug symbols. Always run MSBuild to build the editor tools and Api assemblies when building Godot. Several bugs fixed related to assembly hot reloading and restoring state. Fix StringExtensions internal calls not being registered correctly, resulting in MissingMethodException.
* Android build and export for the mono moduleIgnacio Etcheverry2019-06-031-16/+10
|
* Merge pull request #29079 from neikeq/oopsieIgnacio Roldán Etcheverry2019-05-211-4/+24
|\ | | | | Fix C# build error in MarshalUtils debug code
| * Fix C# build error in MarshalUtils debug codeIgnacio Etcheverry2019-05-211-4/+24
| |
* | Replace call to 'mono_runtime_object_init' with manual ctor invokingIgnacio Etcheverry2019-05-211-9/+8
|/
* C#: Marshalling support for IEnumerable<> and IDictionary<,>Ignacio Etcheverry2019-05-181-2/+126
| | | | Also fixed the hint string of exported members.
* Mono: Use exit(status) instead of abort() in exception hookIgnacio Etcheverry2019-04-181-5/+0
|
* C#: Support type hints for exported ArraysIgnacio Etcheverry2019-04-061-0/+4
| | | | Added the code for Dictionary as well, but it's not yet supported by the Godot inspector.
* C#: Add marshalling support for IEnumerable and IDictionaryIgnacio Etcheverry2019-04-061-5/+18
| | | | | 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>.
* C#: Add 'Singleton' property to singleton wrapper classIgnacio Etcheverry2019-02-191-0/+5
| | | | | | 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.
* Use script instance binding for objects constructed from C#Ignacio Etcheverry2019-02-091-6/+9
| | | | | | | 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.
* Mono: Lifetime fixes for CSharpInstance and instance binding dataIgnacio Etcheverry2019-02-031-35/+44
| | | | | | | 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.
* Mono: CleanupIgnacio Etcheverry2019-02-031-4/+4
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* C#: Improve tool script support and fix reloading issuesIgnacio Etcheverry2018-11-301-0/+4
|
* Improve the C# API projects generationIgnacio Etcheverry2018-11-081-10/+10
| | | | | | - 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>'
* Rename slave keyword to puppetFabio Alessandrelli2018-09-151-2/+4
| | | | | The slave keyword will still be available as deprecated in 3.1 but will be dropped from future releases.
* C#: Fix explicit enum values when exporting memberIgnacio Etcheverry2018-09-121-0/+29
|
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-4/+4
| | | | | | 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.
* Fix/workaround for issue #21667Ignacio Etcheverry2018-09-121-3/+43
| | | | 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).
* Added Collections namespace to Array & Dictionaryexts2018-08-251-4/+5
|
* Fix Mono exception handling.Pieter-Jan Briers2018-08-231-2/+2
| | | | | | | | First of all, this fixes the handling of exceptions so the engine actually notices them, it was broken in 4172fa03b56bb60fe096639585e0ca40df73b677. Next, unhandled exceptions now do NOT cause an abort(). They're logged now, so before #16987. The pending exception thing still works though.
* Mono: Fix property set_value and cleanupIgnacio Etcheverry2018-07-311-8/+38
|
* Mono: Fix null dereferencesIgnacio Etcheverry2018-07-251-9/+9
|
* Add Array and Dictionary wrapper classes to C#Ignacio Etcheverry2018-07-201-27/+102
|
* Mono: Pending exceptions and cleanupIgnacio Etcheverry2018-07-041-25/+61
|
* New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli2018-05-291-0/+6
|
* Revert "RPCMode refactor, more sync modes"Max Hilbrunner2018-05-291-6/+0
|
* New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli2018-05-261-0/+6
|
* fix build error when compiling with mono, tools=no, target=releasePaul Joannon2018-02-271-1/+1
| | | | change TTR to RTR in `print_unhandled_exception`
* Mono: Better versioning and gracefully unloading of Godot API assembliesIgnacio Etcheverry2018-02-251-4/+4
|
* [mono] get stacktraces for all inner exceptionsPaul Joannon2018-02-241-20/+39
|
* add a [Signal] attribute to CSharpScriptsPaul Joannon2018-02-171-0/+2
|
* RID cached class was wrong (mono)Paul Joannon2018-01-221-1/+1
|
* Mono: Some StackTrace to StackInfo[] fixesIgnacio Etcheverry2018-01-121-4/+20
| | | | | | - 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.
* Mono: Some fixes for #15463Ignacio Etcheverry2018-01-091-3/+3
|
* Mono: Implement stack info for errors and exceptionsIgnacio Etcheverry2018-01-091-3/+70
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | 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.
* Mono: Add properties support in scriptsIgnacio Etcheverry2018-01-041-2/+8
|
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Mono: Make the bindings generator output enumsIgnacio Etcheverry2017-12-241-2/+2
| | | | - Switch to PascalCase for constants names
* Rename Rect3 to AABB.Ferenc Arn2017-11-171-3/+3
| | | | Fixes #12973.
* Export attribute fixes and improvementsIgnacio Etcheverry2017-10-171-2/+2
| | | | | | - Allow non-public fields to be exported as well (to avoid confusion). - Set PROPERTY_HINT_RESOURCE_TYPE for resource derived fields. - Support enums and automatically fill PROPERTY_HINT_ENUM's hint_string for enum fields.
* Re-write SignalAwaiter implementationIgnacio Etcheverry2017-10-161-2/+2
| | | | Old implementation had issues where you could only await on the same signal of the same source once.