summaryrefslogtreecommitdiff
path: root/modules/mono/editor
AgeCommit message (Collapse)Author
2019-01-21Mono: Add assembly reloading to running gamesIgnacio Etcheverry
Add environment variable to specify a custom --debugger-agent for mono.
2019-01-21Fix C# script metadata creation error due to missing directoryIgnacio Etcheverry
2019-01-21Workaround for bug with Mono's MSBuild and BaseIntermediateOutputPathIgnacio Etcheverry
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-18Merge pull request #25080 from neikeq/mm-cIgnacio Etcheverry
C# Bindings Generator: Fix vararg methods with custom return type
2019-01-18C# Bindings Generator: Fix vararg methods with custom return typeIgnacio Etcheverry
2019-01-18C#: Fix trying to build when there's no solutionIgnacio Etcheverry
This would cause errors that shouldn't happen unless there was something to build.
2019-01-08Use 'release_debug' for mono export templatesHein-Pieter van Braam
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-07Use 'release_debug' for mono export templatesHein-Pieter van Braam
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-03Merge pull request #24688 from Supatier/add-additional-vscode-nameRémi Verschelde
Add code-oss, vscode-oss, and visual-studio-code-oss to vscode path
2019-01-02Add code-oss, vscode-oss, and visual-studio-code-oss to vscode pathsupatier
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-27Fix Godot unable to find VSCode binarySupatier
VSCode's executable name is not uniform and godot only search for "code".
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-24Parse C# generics and type constraints correctlyCarter Anderson
2018-11-08Merge pull request #23505 from zorbathut/zorbathut/updateprojectIgnacio Etcheverry
Add option for automatic project updating.
2018-11-08Fix assertion fail when loading assembly on project exportIgnacio Etcheverry
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-04Add option for automatic project updating.Ben Rog-Wilhelm
2018-10-28Fix C# parsing the full name of base typesIgnacio Etcheverry
Previously it would fail if the type name included its namespace.
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-25Fix msvc warnings in mono moduleIgnacio Etcheverry
- `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-25Do not generate API project GUIDs randomlyIgnacio Etcheverry
2018-10-25Support globs in csproj includesIgnacio Etcheverry
2018-10-22Fix internal assembly load fromIgnacio Etcheverry
- Also make sure we load API assemblies from 'res://.mono/assemblies/'.
2018-10-19Merge pull request #23128 from neikeq/bbIgnacio Etcheverry
Make sure API assemblies are up to date at startup
2018-10-19Make sure API assemblies are up to date at startupIgnacio Etcheverry
- 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-18Fix prefix erasing for the generated C# enum constantsIgnacio Etcheverry
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-16C# API: Hide method bind fields from debuggerIgnacio Etcheverry
2018-10-08Check if directory exists before trying to delete itIgnacio Etcheverry
2018-10-07C# bindings generator fixesIgnacio Etcheverry
- 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-06Remove redundant "== false" codeAaron Franke
Some of this code has been re-organized. f
2018-10-05Merge pull request #22688 from neikeq/lotsofgoodiesRémi Verschelde
Mono: Editor and export template dependencies and fixes
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-10-03Fix GCC compiler warning in mono moduleIgnacio Etcheverry
- 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-09-17Fix missing mono internal callIgnacio Etcheverry
- Also fixed uninitalized variable in buildscript
2018-09-17Mono: Fix opening code editors in OSX and cleanupIgnacio Etcheverry
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-27C# generated classes ignore warning CS1591 and cleanupIgnacio Etcheverry
2018-08-25Added Collections namespace to Array & Dictionaryexts
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-17Mono: Improve C# core files (glue/cs_files) buildsystemIgnacio Etcheverry
- 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-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-25Merge pull request #20298 from PJB3005/18-07-20-mono-partial-api-extIgnacio Etcheverry
Makes Mono binding classes partial & adds GetNode<T>.