summaryrefslogtreecommitdiff
path: root/modules/mono/mono_gd
AgeCommit message (Collapse)Author
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
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-12C#: Fix cs_files glue mismatch bugIgnacio Etcheverry
2018-09-12Fix/workaround for issue #21667Ignacio Etcheverry
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-12Add some mono root hint dirs for OSXIgnacio Etcheverry
Fixes #13355
2018-09-12Cleanup of c# api files and bindings generatorIgnacio Etcheverry
- 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-08-25Added Collections namespace to Array & Dictionaryexts
2018-08-24Merge pull request #20717 from PJB3005/18-08-04-godot-exceptionsIgnacio Etcheverry
Fix Mono exception handling.
2018-08-24Add print_verbose to print to stdout only in verbose modeRémi Verschelde
Equivalent of the cumbersome: if (OS::get_singleton()->is_stdout_verbose()) print_line(msg);
2018-08-23Fix Mono exception handling.Pieter-Jan Briers
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.
2018-08-22Mono: Fix weird crash when loading corlibIgnacio Etcheverry
2018-08-22Merge pull request #18502 from space-wizards/18-04-29-assembly-load-hookIgnacio Etcheverry
assembly_load_hook fallback for registering GDMonoAssemblies.
2018-08-10Revert "added get_creation_time function for gdscript"Juan Linietsky
2018-08-10Merge pull request #18914 from notwarp/masterJuan Linietsky
added get_creation_time function for gdscript
2018-07-31Mono: Fix property set_value and cleanupIgnacio Etcheverry
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
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-25Mono: Fix null dereferencesIgnacio Etcheverry
2018-07-20Add Array and Dictionary wrapper classes to C#Ignacio Etcheverry
2018-07-18Style: Format code with clang-format 6.0.1Rémi Verschelde
2018-07-04Mono: Pending exceptions and cleanupIgnacio Etcheverry
2018-06-05Mono: Null checks when marshaling from MonoArray* and managed DictionaryIgnacio Etcheverry
2018-05-29New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli
2018-05-29Revert "RPCMode refactor, more sync modes"Max Hilbrunner
2018-05-29Merge pull request #19021 from Faless/rpc_sync_fixMax Hilbrunner
RPCMode refactor, more sync modes
2018-05-27Mono: Fix MonoImage filename being set to an invalid pathIgnacio Etcheverry
2018-05-26New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli
2018-05-20Reduce allocations when converting mono arrays to pool arraysCarter Anderson
2018-05-16added get_creation_time function for gdscriptDaniele Giuliani
2018-04-29assembly_load_hook fallback for registering GDMonoAssemblies.Pieter-Jan Briers
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-03-24Fix mono basis GetEuler bug and marshalling/unmarshallingCarter Anderson
2018-03-18Merge pull request #17619 from neikeq/mono-runtime-main-argsIgnacio Etcheverry
Mono: Runtime main args and assembly search fixes
2018-03-18Mono: Runtime main args and assembly search fixesIgnacio Etcheverry
- 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-02[mono] add the 'Facades' subfolder to the searched directories in _preload_hookPaul Joannon
2018-02-27Merge pull request #17075 from paulloz/fix-build-mono-debug-notoolsRémi Verschelde
[mono] fix build error when compiling with mono, tools=no, target=debug
2018-02-27Merge pull request #15641 from ↵Rémi Verschelde
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-27fix build error when compiling with mono, tools=no, target=releasePaul Joannon
change TTR to RTR in `print_unhandled_exception`
2018-02-26Merge pull request #17046 from NathanWarden/fixed_mono_marshallingRémi Verschelde
[Mono] The marshalling *in* of Transform was also incorrect.
2018-02-26The marshalling in was also incorrect.Nathan Warden
2018-02-25Mono: Better versioning and gracefully unloading of Godot API assembliesIgnacio Etcheverry
2018-02-24[mono] get stacktraces for all inner exceptionsPaul Joannon
2018-02-22Mono: Add project export pluginIgnacio Etcheverry
2018-02-21[mono] fix signals parameter retrievalPaul Joannon
2018-02-20[Mono] Fixed "expression did not evaluate to a constant" compiler error for ↵Nathan Warden
visual studio.
2018-02-18Merge pull request #16326 from NathanWarden/fix_basis_monoIgnacio Etcheverry
[Mono] Basis values now marshalled in the correct order.
2018-02-18Merge pull request #16749 from PJB3005/18-02-16-project-manager-mono-debug-fixIgnacio Etcheverry
Makes project manager never initialize mono debug.
2018-02-17implement signal related methods in csharp_script so signals can be used ↵Paul Joannon
with emit
2018-02-17add a [Signal] attribute to CSharpScriptsPaul Joannon
2018-02-16Makes project manager never initialize mono debug.Pieter-Jan Briers
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().
2018-02-02[Mono] Basis values now marshalled in the correct order.Nathan Warden
2018-02-01Fix inconsistencies and typos in argument namesPaolo Perkovic
2018-01-31Mono: Allow loading `mscorlib` from resources.bruvzg