Commit Graph

129 Commits

Author SHA1 Message Date
Ignacio Etcheverry a45697d8df Mono: Buildsystem improvements
- Bundle with mscorlib.dll to avoid compatibilities issues
- Add build option 'mono_assemblies_output_dir' to specify the output directory where the assemblies will be copied to. '#bin' by default.
2018-01-12 22:44:22 +01:00
Ignacio Etcheverry bff9627dc4 Mono: Some StackTrace to StackInfo[] fixes
- 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.
2018-01-12 19:31:15 +01:00
Ignacio Etcheverry feb843da2b Mono: Fix starting MonoDevelop process from the wrong appdomain 2018-01-12 19:19:20 +01:00
Bojidar Marinov 9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
Rémi Verschelde a60896869e
Merge pull request #15537 from PJB3005/18-01-09-fix-color-string-constructor-mono
Fixes Mono color creation from string being 0-255 instead of 0-1.
2018-01-10 14:50:26 +01:00
Pieter-Jan Briers 6e14cf991a Fixes Mono color creation from string.
Fixes #15468

Also improves the error messages if the string isn't hex, because saying that the color value is negative is just a side effect of the implementation and tells you nothing.
2018-01-10 13:56:30 +01:00
Ignacio Etcheverry f7de51b3a6 Mono: Some fixes for #15463 2018-01-09 22:27:55 +01:00
Rémi Verschelde c037f6339f
Merge pull request #15463 from neikeq/the-stack-frame-madness
Mono: Implement stack info for errors and exceptions
2018-01-09 19:44:10 +01:00
Ignacio Etcheverry 252702a304 Mono: Fix iteration order of object types when generating bindings 2018-01-09 19:06:59 +01:00
Ignacio Etcheverry 1c6269f2dd External editor fixes
- Fix VS Code opening on the previous line to the desired one.
- Fix running MonoDevelop without the line and column parameters.
- Fix `ScriptEditor::_goto_script_line` not working with language overriden external editors.
2018-01-09 17:25:23 +01:00
Ignacio Etcheverry 5be356b72f Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
Rémi Verschelde 0e6e98a65f Fix build of GDMonoField
Closes #15385.
2018-01-06 11:06:05 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
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.
2018-01-05 01:22:23 +01:00
Ignacio Etcheverry 119a910bc6 Mono: Add properties support in scripts 2018-01-04 21:16:22 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Ignacio Etcheverry fe391393d4 Mono: Change BindingsGenerator singleton to avoid StringName leaks 2018-01-01 03:05:19 +01:00
Ignacio Etcheverry b271aa48e4 Mono: Script lifetime fixes
- alloc_language_binding: Use strong GC handle as well for references. Fixes #15138
- Set the native instance field of Godot.Object to IntPtr.Zero when it's freed.
- Create weak handles without tracking resurrection (that was causing trouble). This means we have to call notification predelete before queueing a native Object for deletion, and use the MonoObject* passed by the finalizer because the weak GC handle target will return NULL at this point.
2018-01-01 03:05:13 +01:00
Ignacio Etcheverry e350a56efd Mono: Bindings no longer relie on DocData for accessors 2017-12-29 02:18:46 +01:00
Noshyaar ab444a8ca9
Merge pull request #14996 from neikeq/enums-mono
Mono: Make the bindings generator output enums
2017-12-27 10:29:00 +07:00
Ignacio Etcheverry 8b0ad17b76
Merge pull request #14997 from neikeq/issue-14988
Marshal NULL MonoString* as empty Godot string
2017-12-24 17:50:28 +01:00
Ignacio Etcheverry 0a0a44da8d Mono: Make the bindings generator output enums
- Switch to PascalCase for constants names
2017-12-24 04:20:41 +01:00
Ignacio Etcheverry 6e3d4ee9a6 Marshal NULL MonoString* as empty Godot string 2017-12-24 03:32:40 +01:00
geequlim 52ad2e5418 Add more translatable text for editor plugins. 2017-12-23 22:40:15 +08:00
PJB3005 7368a0e0f0 Fix fatal mono logs not getting logged to disk.
They aborted the application without flushing the log file.

Also there was a typo.
2017-12-19 17:36:33 +01:00
Andreas Haas e7c1255b06
Mono: Build in cloned env.
Use a cloned env, so that toggling glue_enabled doesn't force a full rebuild as mentioned in #14584.
2017-12-12 16:20:34 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Unknown fd1b94e307 Improve slang, especially in user-visible parts 2017-12-05 15:41:38 +01:00
Nathan Warden 0c22447ebe Exported variables now show in the correct order. 2017-12-02 21:01:58 -05:00
Rémi Verschelde aa5f7e0ff2 Fix mono build after bc2e8d99 2017-11-25 12:16:58 +01:00
Rémi Verschelde bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Andreas Haas e69dd3c712
Mono: Use PascalCase in core types. 2017-11-21 23:32:40 +01:00
pablotato 054a2ac579 Add cartesian to polar conversion functions 2017-11-20 23:34:40 +01:00
Rémi Verschelde ecf80fbbba
Merge pull request #12988 from akien-mga/xdg-home-paths
Add support for XDG Base Directory spec
2017-11-20 00:42:51 +01:00
Rémi Verschelde 32c12a92a5 Add initial support for the XDG Base Directory spec
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
(latest as of this commit).

Three virtual methods are added to OS for the various XDG paths we will use:
- OS::get_data_path gives XDG_DATA_HOME, or if missing:
  ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_config_path gives XDG_CONFIG_HOME, or if missing:
  ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_cache_path gives XDG_CACHE_HOME, or if missing:
  ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows

So for Windows there are no changes, for Linux we follow the full split spec
and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot.

Support for system-wide installation of templates on Unix was removed for now,
as it's a bit hackish and I don't think anyone uses it.

user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by
default, but when using the application/config/use_shared_user_dir option
it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame.

For now everything still goes in EditorSettings::get_settings_dir(), but
this will be changed in a later commit to make use of the new splitting
where relevant.

Part of #3513.
2017-11-19 20:54:24 +01:00
Ignacio Etcheverry b51b3dc030 Mono: Fix compiler error with Variant::operator AABB() 2017-11-18 18:13:57 +01:00
Rémi Verschelde ad199c3964 EditorSettings: Rename settings_path to settings_dir
Also to prepare for upcoming refactoring for XDG support.
2017-11-17 20:55:09 +01:00
Rémi Verschelde 73049d115e Rename OS::get_data_dir to OS::get_user_data_dir
Will be needed to avoid confusion with system data path (XDG_DATA_HOME)
and editor data dir in upcoming refactoring.
2017-11-17 20:55:09 +01:00
Ferenc Arn d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Rémi Verschelde 677e95d8d1 doc: Make all module docs self-contained 2017-11-15 21:29:33 +01:00
Rémi Verschelde e7701bb2de doc: Rename "@Global Scope" to "@GlobalScope"
Spaces in filenames are evil.
2017-11-15 20:41:16 +01:00
Rémi Verschelde 967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Matthias Hoelzl 1f6d766332 Remove preprocessor directives from macro arguments
Preprocessor directives within macro arguments lead to undefined
behavior, and VC++ actually rejects them as compiler errors.
2017-11-10 10:14:04 +01:00
Daniel J. Ramirez c57fc8ee7d Fixed editor settings disappearing.
Some items that are no longer defined may disappear, but thats expected i guess.
2017-11-09 22:10:48 -06:00
Rémi Verschelde 9a78efc7c2
Merge pull request #12642 from BrainBlasted/fix_msbuild_unix
Added fallback for msbuild.exe.
2017-11-05 11:54:26 +01:00
Rémi Verschelde 5bc2cf257b Convert DOS line endings to Unix line endings
Should fix issues some of us have with `misc/dist/uwp_template/AppxManifest.xml`
always showing up as modified.
Might cause issues on Windows due to the removal of BOMs or change of line endings
in some of the Mono, UWP or gradlew.bat files, we will test and adapt if need be.
2017-11-05 11:37:59 +01:00
BrainBlasted 8e2a756eb8 Added for fallback msbuild.exe.
Fixes #12613
2017-11-04 21:05:22 -04:00
Juan Linietsky 79f81b77e2 -Modules can now add custom version info (added it for Mono)
-Version string takes this version info
-Ability to download templates from the interweb (listing does not work yet)
2017-11-01 23:13:27 -03:00
Ignacio Etcheverry 3c97a9543d
Merge pull request #12549 from neikeq/seriously-do-they
Mono cleanup fixes
2017-11-01 01:56:16 +01:00
Ignacio Etcheverry cb3ef3c7e6
Merge pull request #12546 from neikeq/do-people-read-these
Use mono_gc_wbarrier_set_arrayref for Array marshalling
2017-11-01 01:52:42 +01:00