Ignacio Etcheverry
3abe6961dc
Mono: Fix Array IndexOutOfRangeException not being thrown
2019-07-03 17:56:08 +02:00
Ignacio Etcheverry
9f1a8ce6a2
Mono: Android build and shared libraries fixes
...
Fix location of Mono's shared libraries.
Fix build failing if the directory 'platform/android/java/libs/{target}/{abi}' doesn't exist.
2019-07-03 17:48:12 +02:00
Rémi Verschelde
b0d41847ed
SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor defines
...
It's the recommended way to set those, and is more portable
(automatically prepends -D for GCC/Clang and /D for MSVC).
We still use CPPFLAGS for some pre-processor flags which are not
defines.
2019-07-03 09:59:04 +02:00
qarmin
3c154eb93b
Remove unnecessary code and add some error explanations
2019-07-01 12:59:42 +02:00
qarmin
4e5310cc60
Some code changed with Clang-Tidy
2019-06-26 15:08:25 +02:00
JohnJLight
38d3bfe971
Made use of semicolons more consitent, fixed formatting
2019-06-19 15:24:31 +02:00
Rémi Verschelde
d6176db271
Unexpose subclasses of ResourceFormatLoader and -Saver
...
ResourceFormatLoader and ResourceFormatSaver are meant to be overridden
to add support for different formats in ResourceLoader and ResourceSaver.
Those should be exposed as they can be overridden in plugins.
On the other hand, all predefined subclasses of those two base classes
are only meant to register support for new file and resource types, but
should not and cannot be used directly from script, so they should not
be exposed.
Also unexposed ResourceImporterOGGVorbis (and thus its base class
ResourceImporter) which are editor-only.
2019-06-18 17:56:23 +02:00
Rémi Verschelde
89ce9a6f46
Mono: Fix -Wduplicated-branches warning
2019-06-15 18:01:34 +02:00
Ignacio Roldán Etcheverry
abbbde87e2
Merge pull request #29606 from neikeq/remove-unneeded-mono-patches
...
Remove obsolete mono patch for pthread_mutexattr_setprotocol
2019-06-08 21:14:15 +02:00
Ignacio Etcheverry
26f9d907d4
Remove obsolete mono patch for pthread_mutexattr_setprotocol
...
This has already been fixed in Mono both master and 2019-06 (no other branch other than the skipped 2019-04 branch uses pthread_mutexattr_setprotocol).
2019-06-08 17:00:02 +02:00
Ignacio Etcheverry
ff0c863cb1
Mono: Fix SCons options added to the wrong environment
2019-06-04 16:15:00 +02:00
Ignacio Etcheverry
14df9e5cb2
Android build and export for the mono module
2019-06-03 17:09:24 +02:00
Rémi Verschelde
b9dc2e7e4d
Merge pull request #28099 from lupoDharkael/fix-completion
...
Fix code completion not working with class_name
2019-06-03 14:01:07 +02:00
Rémi Verschelde
3c4fab295b
Merge pull request #27789 from Giacom/move_towards
...
Added move_toward functions for float, Vector2 and Vector3
2019-06-01 12:05:18 +02:00
ShyRed
5dc50327cf
Escape quote char for non-Windows OS
...
Quote char appears to be ignored by ProcessStartInfo on non-Windows operating systems, so it needs to be escaped.
2019-05-29 19:13:16 +02:00
Giacom
c00427add3
Added move_toward functions for float, Vector2 and Vector3
2019-05-28 11:39:35 +01:00
Rémi Verschelde
7487d2f852
Merge pull request #28957 from aaronfranke/basis-optimize
...
Optimize Basis constructor for Axis Angle
2019-05-27 17:42:43 +02:00
Ignacio Roldán Etcheverry
df17cf06d4
Merge pull request #29184 from aaronfranke/mono-tan-xy-yx
...
[Mono] Change Atan2 arguments to (y, x)
2019-05-26 17:15:29 +02:00
Aaron Franke
19786f77ef
[Mono] Change Atan2 arguments to Y X
2019-05-26 03:15:56 -04:00
ShyRed
60e711a115
Add Godot constants to Mono project builds
...
This adds constants to projects build via Godot Mono which allows project to conditionally react to different operating systems and 32/64 Bit architecture. Additionally .NET libraries could support multiple engines like Unity and Godot at the same time when compiled from Godot and reacting to definitions.
2019-05-26 08:07:55 +02:00
Ignacio Roldán Etcheverry
0d8f1ba6a9
Merge pull request #29021 from aaronfranke/mono-tuple
...
[Mono] Misc Basis and AABB improvements
2019-05-26 01:46:07 +02:00
Ignacio Etcheverry
04ebf294f3
C#: Implement ScriptInstance::to_string
...
Create a blacklist of methods that must not be generated. Includes: "to_string", "_to_string" and "_init".
2019-05-24 00:40:20 +02:00
Aaron Franke
7b6473fec5
[Mono] Misc Basis and AABB improvements
2019-05-22 15:23:51 -04:00
Ignacio Roldán Etcheverry
e2375f487c
Merge pull request #29079 from neikeq/oopsie
...
Fix C# build error in MarshalUtils debug code
2019-05-21 19:54:34 +02:00
Ignacio Roldán Etcheverry
9c45432309
Merge pull request #29052 from neikeq/fixes-28667------i-think
...
Replace call to 'mono_runtime_object_init' with manual ctor invoking
2019-05-21 19:15:32 +02:00
Ignacio Etcheverry
9b76c56098
Fix C# build error in MarshalUtils debug code
2019-05-21 19:09:00 +02:00
Ignacio Etcheverry
66b930a266
Replace call to 'mono_runtime_object_init' with manual ctor invoking
2019-05-21 00:06:04 +02:00
Rémi Verschelde
e0574e1d98
Fix typos with codespell
...
Using codespell 1.15.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Ignacio Etcheverry
5a4bf4f369
C#: Marshalling support for IEnumerable<> and IDictionary<,>
...
Also fixed the hint string of exported members.
2019-05-18 19:39:56 +02:00
Aaron Franke
9ff708f008
Optimize Basis constructor for Axis Angle
2019-05-17 05:11:12 -04:00
ShyRed
77ab9ba252
Fix generation of Mono Glue for Visual Studio 2017+
...
vsnprintf definition should only be changed when MSC version is older than 2013. The version check and fix is taken from StringUtils.h of assimp.
2019-05-05 12:39:02 +02:00
marxin
cdf54d6c5f
Ignore a warning in _get_socket_error (-Wlogical-op).
...
drivers/unix/net_socket_posix.cpp: In member function 'NetSocketPosix::NetError NetSocketPosix::_get_socket_error()':
drivers/unix/net_socket_posix.cpp:197:22: warning: logical 'or' of equal expressions [-Wlogical-op]
197 | if (errno == EAGAIN || errno == EWOULDBLOCK)
| ^
and:
modules/mono/utils/string_utils.cpp: In function 'int {anonymous}::sfind(const String&, int)':
modules/mono/utils/string_utils.cpp:68:48: error: logical 'or' of collectively exhaustive tests is always true [-Werror=logical-op]
found = src[read_pos] == 's' || (c >= '0' || c <= '4');
~~~~~~~~~^~~~~~~~~~~
2019-05-02 11:11:52 +02:00
Rémi Verschelde
8afc9c3938
Merge pull request #21425 from aaronfranke/decimal-functions
...
Make "decimal" functions more consistent
2019-05-01 08:16:10 +02:00
Rémi Verschelde
7ff0979747
Merge pull request #28544 from neikeq/issue-28540
...
Fix missing argument for vsnprintf_s
2019-05-01 07:18:31 +02:00
Ignacio Etcheverry
4eedb97802
Fix missing argument for vsnprintf_s
2019-04-30 23:15:25 +02:00
Aaron Franke
620ec4703f
Make "decimal" functions more consistent
...
In GDScript, rename "decimals" to "step_decimals". In C#, add "StepDecimals", but keep the old functionality in a method called "DecimalCount".
2019-04-30 13:49:17 -04:00
Rémi Verschelde
a7f00f3bac
Merge pull request #28530 from akien-mga/scons-prepend-cpppath
...
SCons: Always use env.Prepend for CPPPATH
2019-04-30 18:23:38 +02:00
Rémi Verschelde
d52b70fb5e
SCons: Always use env.Prepend for CPPPATH
...
Include paths are processed from left to right, so we use Prepend to
ensure that paths to bundled thirdparty files will have precedence over
system paths (e.g. `/usr/include` should have lowest priority).
2019-04-30 13:12:06 +02:00
Ignacio Etcheverry
470b80cc55
C#: Support resource type hint in exported arrays
...
- Elements of types like PackedScene will display with the special editor for such type.
2019-04-29 21:20:05 +02:00
Rémi Verschelde
554c0ea90b
Merge pull request #28423 from neikeq/dont-forget-to-think-a-name-for-this-branch
...
C#: Deprecate accessor methods and generate correct int and float types
2019-04-29 16:56:25 +02:00
Rémi Verschelde
18e88c8563
Merge pull request #18992 from aaronfranke/mono-equal-approx
...
[Core] [Mono] Improve and use approximate equality methods
2019-04-29 10:16:46 +02:00
Ignacio Etcheverry
3380565e4b
C#: Generate the correct integer and floating point types
2019-04-27 01:30:46 +02:00
Ignacio Etcheverry
791e1294c3
Mono: Lazily load scripts metadata file
...
- Only load the scripts metadata file when it's really needed. This way we avoid false errors, when there is no C# project, about missing scripts metadata file.
2019-04-26 19:53:44 +02:00
Ignacio Etcheverry
340252727b
C#: Mark generated property accessor methods as Obsolete
...
- Methods that act as accessors for properties in the same class (like `GetPosition` and `SetPosition` are for `Position`) are now marked as obsolete. They will be made private in the future.
2019-04-25 20:34:35 +02:00
Ignacio Etcheverry
c20a3823a2
C# bindings generator cleanup
...
- Normal log messages are no longer warnings.
- BindingsGenerator is no longer a singleton.
- Added a log function.
2019-04-25 20:34:28 +02:00
Aaron Franke
c577ec6ae4
[Mono] Approximate equality
2019-04-25 13:20:29 -04:00
Ignacio Etcheverry
d93c354807
Fix invalid mono log file name on Windows
2019-04-24 18:52:03 +02:00
Rémi Verschelde
3610b4fd77
Merge pull request #28179 from neikeq/welp
...
Use StringBuilder in C# bindings generator
2019-04-22 11:52:30 +02:00
Ignacio Roldán Etcheverry
7be498499b
Merge pull request #27820 from ForLoveOfCats/master
...
Mono: Convert all items to string before printing
2019-04-20 04:12:22 +02:00
ForLoveOfCats
25f563c4c8
Mono: Convert all items to string before printing
2019-04-19 12:59:22 -04:00
Rémi Verschelde
b29df348e2
Merge pull request #28192 from akien-mga/doc-unused-demos
...
doc: Drop unused <demos> tag, sync classref
2019-04-19 12:50:42 +02:00
Rémi Verschelde
6af69f851a
doc: Drop unused <demos> tag
2019-04-19 11:03:46 +02:00
Ignacio Etcheverry
f64aa02933
Use StringBuilder in C# bindings generator
...
- Also fixed generation of empty summary comments when no comment should have been generated.
2019-04-19 02:11:39 +02:00
Ignacio Roldán Etcheverry
392f1491e1
Merge pull request #28161 from neikeq/exception-hook-no-abort
...
Mono: Use exit(status) instead of abort() in exception hook
2019-04-18 16:26:54 +02:00
Ignacio Etcheverry
8759c0e31a
Mono: Use exit(status) instead of abort() in exception hook
2019-04-18 15:01:50 +02:00
Ignacio Etcheverry
2b9557c920
C#: Add missing ToString() override methods
...
Godot.Object, Array, Dictionary and RID were missing ToString() override methods
2019-04-18 14:48:13 +02:00
Ignacio Etcheverry
20e5e2fec7
Mono: Logging improvements
...
- The default log level in debug builds is now 'info' instead of 'debug'.
- Add option to specify a different log level with the 'GODOT_MONO_LOG_LEVEL' environment variable.
- The name of log files is now a readable date and time.
- Always print the log file path (previously it was printed only it in verbose mode).
2019-04-17 23:03:32 +02:00
lupoDharkael
145a45fd3f
Fix code completion not working with class_name
2019-04-16 22:27:13 +02:00
Ignacio Roldán Etcheverry
b7cf4c2050
Merge pull request #27950 from Nonnu42/contrib
...
Fixes #17233 allowing C# to override _GetPropertyList
2019-04-12 16:43:27 +02:00
Nuno Cardoso
d011c8e109
Fixes #17233 allowing C# to override _GetPropertyList
2019-04-12 03:09:03 +01:00
Rémi Verschelde
c8994b56f9
Style: Apply new changes from clang-format 8.0
...
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Ignacio Roldán Etcheverry
9ab17b664d
Merge pull request #27809 from neikeq/github-pls
...
Workaround for syntax highlighting issue in GitHub
2019-04-08 22:13:13 +02:00
Ignacio Etcheverry
7a4cf6339d
Workaround for syntax highlighting issue in GitHub
2019-04-08 14:52:01 +02:00
Rémi Verschelde
6a2b8a263e
Merge pull request #26458 from neikeq/mono-build-cleanup
...
Mono: Add CPPPATH only to env_mono and cleanup build scripts
2019-04-08 12:50:51 +02:00
Rémi Verschelde
918de768a5
Merge pull request #27711 from neikeq/ifdef-clang-tidy
...
Replace a few #if/#elif with #ifdef and "#elif defined"
2019-04-08 12:24:30 +02:00
Rémi Verschelde
7f3373d79f
Merge pull request #27452 from Chaosus/direction_to
...
Added method to retrieve a direction vector from one point to another
2019-04-08 12:00:54 +02:00
Rémi Verschelde
d211aff777
Merge pull request #27231 from Chaosus/smoothstep
...
Added smoothstep built-in function
2019-04-08 10:03:42 +02:00
Ignacio Etcheverry
2873206aa6
Mono: Add compiler flags to env_mono instead of env
...
This way we avoid possible conflicts with other modules. Specially with include paths.
2019-04-07 19:03:13 +02:00
Ignacio Etcheverry
6bb29eb847
Mono: Reorganize build scripts
...
All build scripts, other than config.py and SCSub, are now located in the build_scripts subdirectory.
2019-04-07 19:03:09 +02:00
Chaosus
514a3fb96a
Added smoothstep built-in function
2019-04-07 14:11:26 +03:00
Hendrikto
49a81308c0
Remove unused imports
2019-04-06 18:05:05 +02:00
Ignacio Etcheverry
2f3328a039
Fix wrong method binds and registered class
2019-04-06 16:12:59 +02:00
Ignacio Etcheverry
480d4c6fba
C#: Support type hints for exported Arrays
...
Added the code for Dictionary as well, but it's not yet supported by the Godot inspector.
2019-04-06 12:14:43 +02:00
Ignacio Etcheverry
187e6ae26d
C#: Add marshalling support for IEnumerable and IDictionary
...
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-04-06 12:14:37 +02:00
Ignacio Etcheverry
92b02cb027
C#: Some important Array and Dictionary interface changes
...
Array now implements IList instead of IList<object, object>.
Dictionary now implements IDictionary instead of IDictionary<object, object>.
2019-04-06 11:00:40 +02:00
Ignacio Etcheverry
e82b2def8e
Mono: Buildsystem support for finding MSBuild from VS2019
2019-04-06 01:32:41 +02:00
Ignacio Etcheverry
ad2127a3e8
Replace a few #if/#elif with #ifdef and "#elif defined"
2019-04-05 23:41:51 +02:00
Rémi Verschelde
a61ad365f5
Merge pull request #27677 from akien-mga/Wimplicit-fallthrough
...
Fix -Wimplicit-fallthrough warnings from GCC 8
2019-04-05 16:12:45 +02:00
Chaosus
55f3bd97a2
Added direction_to method to vectors
2019-04-05 17:09:57 +03:00
Rémi Verschelde
63d3a42f82
Merge pull request #27465 from neikeq/road-to-lang-agnostic-docs-is-going-to-be-tough
...
EditorHelp: Improve enum ref resolving and add constant ref support
2019-04-05 15:19:21 +02:00
Rémi Verschelde
fc370b3feb
Fix -Wimplicit-fallthrough warnings from GCC 8
...
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.
The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.
Fixes #26135 .
2019-04-05 15:14:53 +02:00
ForLoveOfCats
444242a080
Mono: Make missing default constructor error more foolproof
2019-04-04 16:56:02 -04:00
ForLoveOfCats
46e79e6fad
Mono: Makes GD.Convert take Variant.Type instead of int
2019-04-04 16:07:48 -04:00
Ignacio Etcheverry
0338e55a6e
Fix memory leak introduced in bb6814a
2019-04-02 22:56:17 +02:00
Rémi Verschelde
e3bd84fa57
Merge pull request #27485 from Faless/io/encode_decode_safety_pr
...
Safer encode/decode variant.
2019-04-01 17:00:40 +02:00
Fabio Alessandrelli
393e62b98a
Add object encoding param to serialization methods
...
Network peers get_var/put_var
File get_var/store_var
GDScript/Mono/VisualScript bytes2var/var2bytes
Add MultiplayerAPI.allow_object_decoding member which deprecates PacketPeer.allow_object_decoding.
Break ABI compatibaility (API compatibility for GDNative).
2019-04-01 15:53:19 +02:00
Rémi Verschelde
39c868171e
doc: Bump version to 3.2
2019-04-01 12:33:56 +02:00
Ignacio Etcheverry
c8aa85189a
EditorHelp, makerst: Improve enum ref resolving and constant ref support
...
Enum reference resolving will now search in the @GlobalScope if no class is specified and the enum cannot be resolved in the current class.
Added support for constant references in EditorHelp, e.g.: [constant KEY_ENTER] or [constant Control.FOCUS_CLICK]. It supports enum constants (the enum name must not be included).
2019-03-29 23:40:31 +01:00
Ignacio Etcheverry
bb6814aef0
C#: Add DynamicGodotObject class
...
Expands to Object.call, Object.set and Object.get for accessing members. This means it can also access members from scripts written in other languages, like GDScript.
2019-03-29 00:53:48 +01:00
Ignacio Roldán Etcheverry
e453934824
Merge pull request #27359 from neikeq/who-reads-docs-anyway
...
C#: Bindings generator now translates BBCode docs to XML comments
2019-03-23 20:49:59 +01:00
Ignacio Etcheverry
1ad16b3d4a
C#: Bindings generator now translates BBCode docs to XML comments
2019-03-23 20:39:55 +01:00
Ignacio Roldán Etcheverry
96abb695f2
Merge pull request #27270 from shartte/fix-generics-parsing
...
Fix parsing of generic type declarations in C# source files
2019-03-20 18:34:28 +01:00
Sebastian Hartte
7440295ad1
Add support for new MSBuild directory naming introduced in VS 2019.
2019-03-20 17:57:20 +01:00
Sebastian Hartte
34366bc27f
Fix parsing of generic type declarations in C# source files.
2019-03-20 17:23:11 +01:00
Rémi Verschelde
3b5a0f34d4
Merge pull request #27014 from neikeq/csharp-update-exports-only-in-editor
...
C#: Update exports only in the editor
2019-03-13 20:07:06 +01:00
Ignacio Etcheverry
5e354162f1
C#: Update exports only in the editor
2019-03-13 16:26:47 +01:00
Rémi Verschelde
4326fd5a7e
Mono: Update welcome message with current state
2019-03-12 19:35:02 +01:00
Ignacio Etcheverry
e9e7aab8eb
Mono: Some assembly referencing changes and cleanup
...
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-10 18:55:31 +01:00
Ignacio Etcheverry
4299332ecc
Mono: Fix assemblies path String incorrectly constructed from utf8
...
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-09 23:00:03 +01:00
Ignacio Roldán Etcheverry
65487ed4ed
Merge pull request #26746 from shartte/godot-trace-listener
...
Add a custom TraceListener on Startup for Mono
2019-03-08 07:05:41 +01:00
Ignacio Etcheverry
a4825c2f8b
Fix CSharpInstance::set not working with base classes
2019-03-08 00:12:19 +01:00
Rémi Verschelde
6ee3002237
Merge pull request #26773 from neikeq/issue-26628
...
Mono: Fix crash with exported field of custom Reference derived type
2019-03-07 22:54:03 +01:00
Ignacio Etcheverry
c5f8b0960a
Mono: Fix crash with exported field of custom Reference derived type
2019-03-07 22:38:31 +01:00
Ignacio Etcheverry
17a55861f1
Merge pull request #26770 from neikeq/issue-26675
...
Mono: Partially implement some Godot debug api functions
2019-03-07 22:00:59 +01:00
Ignacio Etcheverry
47407ba2df
Merge pull request #26761 from Chaosus/fix_mono_wrap
...
Fix division by zero at wrap functions in mono
2019-03-07 21:34:03 +01:00
Ignacio Etcheverry
8e2e0795bb
Mono: Partially implement some Godot debug api functions
...
Debug breaks sent with debug_break and debug_break_parse should display correctly in the Godot debugger now.
2019-03-07 21:02:57 +01:00
Sebastian Hartte
37d448fca7
Added a Godot TraceListener, which is automatically installed on startup. Fixes that Debug/Trace Assertions are simply swallowed by Godot.
2019-03-07 21:00:19 +01:00
Chaosus
752055ccba
Fix division by zero at wrap functions in mono
2019-03-07 22:57:12 +03:00
Ignacio Etcheverry
4c0b0a6bdd
Merge pull request #26765 from neikeq/issue-25959
...
Mono: Fix crash when re-using script binding after domain reloading
2019-03-07 20:50:37 +01:00
Ignacio Etcheverry
e904f814c8
Mono: Fix crash when re-using script binding after domain reloading
2019-03-07 19:55:40 +01:00
Sebastian Hartte
f8a6a6c8a2
Update scripts exports even when normal script instances are created to better support tool scripts with exported variables.
2019-03-07 18:52:43 +01:00
Rémi Verschelde
64923ff277
Merge pull request #26713 from neikeq/print-msbuild-command
...
Print MSBuild command if also printing output
2019-03-06 18:22:57 +01:00
Ignacio Etcheverry
0b68677112
Print MSBuild command if also printing output
2019-03-06 17:10:14 +01:00
Ignacio Etcheverry
db7928849b
Merge pull request #26712 from neikeq/issue-26681
...
Mono: Make 'Build' button generate solution if it doesn't exist
2019-03-06 16:54:51 +01:00
Ignacio Etcheverry
c97db904a0
Mono: Make 'Build' button generate solution if it doesn't exist
2019-03-06 16:36:53 +01:00
Ignacio Etcheverry
6492de800f
Merge pull request #26661 from neikeq/issue-17601
...
Mono: Fix array field being assigned MonoArray** instead of MonoArray*
2019-03-05 23:03:25 +01:00
Ignacio Etcheverry
c6ac7333a6
Mono: Fix array field being assigned MonoArray** instead of MonoArray*
...
Fixes #17601
2019-03-05 21:46:55 +01:00
Rémi Verschelde
0a7de5472f
Merge pull request #26591 from neikeq/oi
...
Mono: Add option to print MSBuild output and improve out of sync error
2019-03-04 18:36:10 +01:00
Ignacio Etcheverry
8877b07f4c
Mono: Add option to print MSBuild output and improve out of sync error
2019-03-04 16:05:08 +01:00
Carter Anderson
839ed2d092
Add mono log profiler support
2019-03-02 23:32:03 -08:00
Ignacio Etcheverry
42c57eef13
C#: Fix parsing of class full name when the base has generics
...
Also we no longer ignore base classes with generics, since we don't really care about that.
2019-03-01 00:23:23 +01:00
Ignacio Etcheverry
22b41ab2fe
Mono: Fail on script instance creation if constructor was not found
...
Previously this would result in NULL dereferencing. Now we fail with an error.
2019-02-28 23:22:46 +01:00
Ignacio Etcheverry
5a4475fce3
Mono: Make sure the generated RootNamespace is a valid identifier
2019-02-28 22:26:15 +01:00
Ignacio Etcheverry
b69569415f
Merge pull request #26411 from neikeq/issue-26195
...
C#: Add Array.Resize(int) method
2019-02-28 18:53:14 +01:00
Ignacio Etcheverry
32cd8ba9bd
C#: Add Array.Resize(int) method
2019-02-28 18:33:42 +01:00
Rémi Verschelde
372152220b
Merge pull request #26159 from marxin/fix-Wsuggest-attribute=format
...
Fix -Wsuggest-attribute=format warnings.
2019-02-27 09:23:26 +01:00
Rémi Verschelde
426a6fdc17
Merge pull request #26134 from marxin/fix-Wsign-compare
...
Fix -Wsign-compare warnings.
2019-02-27 09:22:47 +01:00
marxin
e5f665c718
Fix -Wsign-compare warnings.
...
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +01:00
marxin
aff84ec55d
Fix -Wsuggest-attribute=format warnings.
2019-02-27 06:56:50 +01:00
Ignacio Etcheverry
3e0846e65b
Mono: Some editor usability improvements
...
- Move "Mono" popup menu from the top right corner to `Projects -> Tools` as a submenu.
- Add "Build solution" button to the top right corner. Makes it more visible and quicker to access.
- Fix build list in the bottom panel unselect an item when clicking on empty space. Previously it would hide the issues panel but the item would remain selected, making it impossible to display the issues panel again if there was only one item.
2019-02-27 02:45:21 +01:00
Ignacio Etcheverry
823fb59e10
Remove problematic VS Code hint path on Windows
2019-02-27 02:43:53 +01:00
Ignacio Etcheverry
da3776a40a
C#: Fix Vector2.AngleToPoint
...
Fixes #26209
2019-02-23 23:28:31 +01:00
Rémi Verschelde
07fbc34195
Merge pull request #26203 from neikeq/csharp-basis
...
C#: Basis fixes and cleanup
2019-02-23 20:53:03 +01:00
Ignacio Etcheverry
2c26e7f174
C#: Basis fixes and cleanup
...
Fix Basis operator[int]. Now it returns columns instead of rows.
Fix Transform2D.AfficeInverse() mutating rather than returning a new Transform2D.
2019-02-23 18:22:30 +01:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Ignacio Etcheverry
9421da57ad
C#: Add 'Singleton' property to singleton wrapper class
...
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-19 22:38:22 +01:00
Ignacio Etcheverry
aa5b99821b
Merge pull request #26065 from neikeq/csharp-fix-gd-range
...
C#: Make GD.Range return IEnumerable instead of array
2019-02-19 19:27:37 +01:00
Ignacio Etcheverry
0826b79035
C#: Make GD.Range return IEnumerable instead of array
...
- Make NodePath and RID sealed classes.
- Renamed rand_range to RandRange.
2019-02-19 18:46:18 +01:00
Ignacio Etcheverry
1174d10e3c
Merge pull request #25890 from neikeq/issue-25818
...
Fix Godot.Reference marshalling from MonoObject* to Variant
2019-02-19 15:05:05 +01:00
Ignacio Etcheverry
29fd942dd6
Merge pull request #26039 from neikeq/throw_objectdisposedexception
...
C#: Throw ObjectDisposedException from disposed wrapper classes
2019-02-19 01:02:20 +01:00
Ignacio Etcheverry
e1f01bf2ac
Merge pull request #26038 from neikeq/csharp_rand_funcs
...
C#: Add random functions to GD class
2019-02-19 00:52:01 +01:00
Ignacio Etcheverry
efd5d4bcf9
C#: Throw ObjectDisposedException from disposed wrapper classes
2019-02-19 00:37:15 +01:00
Ignacio Etcheverry
ce67808818
C#: Add random functions to GD class
2019-02-19 00:35:19 +01:00
RomanAkberov
041a7bbeba
C#: fix Quat.Equals.
2019-02-19 01:01:05 +07:00
Ignacio Etcheverry
a8dfe9ff7f
Don't print 'Cannot find Mono in the registry' if bundled with Godot
...
Closes #24753
2019-02-15 19:52:32 +01:00
Ignacio Etcheverry
d17ba9a140
Mono: Fix export template build errors
...
Fixes #25903
2019-02-15 19:52:22 +01:00
Ignacio Etcheverry
b41a793592
Fix Godot.Reference marshalling from MonoObject* to Variant
...
Need to cast Ref<T> to Variant instead of constructing Variant from Object*, otherwise the Variant won't hold a reference.
2019-02-14 22:54:15 +01:00
Rémi Verschelde
55ca2a7c88
Merge pull request #25821 from akien-mga/sync-class-and-filenames
...
Ensure classes match their header filename
2019-02-13 08:49:39 +01:00
Aaron Franke
f97eb6d881
[Mono] Fix Transform2D rotation and scale
2019-02-12 17:59:29 -05:00
Rémi Verschelde
fe7e11e008
Modules: Ensure classes match their header filename
...
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-12 22:59:56 +01:00
Rémi Verschelde
c4835c4345
Merge pull request #25721 from neikeq/ww
...
Use script instance binding for objects constructed from C#
2019-02-12 15:29:25 +01:00
Rémi Verschelde
b7cc2bb1e2
Core: Ensure classes match their header filename
...
Also drop some unused files.
Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`
Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Carter Anderson
22bf89e970
Use "origin" instead of "o" in Transform2D.Rotation
2019-02-11 23:46:55 -08:00
Ignacio Etcheverry
be98a6ebbc
Merge pull request #25724 from aaronfranke/mono-transform
...
[Mono] Fix Transform2D origin
2019-02-11 22:27:49 +01:00
Ignacio Etcheverry
9115c6ab15
Merge pull request #25803 from neikeq/yy
...
Windows: Default to system MSBuild and add VSCode hint path
2019-02-11 22:25:11 +01:00
Ignacio Etcheverry
da00c338a3
Add VSCode hint path for Windows
2019-02-11 22:03:51 +01:00
Ignacio Etcheverry
9a08b90472
Default to MSBuild from VS Build Tools instead of Mono's
...
Don't pass FrameworkPathOverride to MSBuild. It's causing issues with some nuget packages.
2019-02-11 22:03:37 +01:00
Ignacio Etcheverry
eda4be193f
Merge pull request #25773 from neikeq/xx
...
Do not initialize Mono if 'res://.mono/' and mscorlib are missing
2019-02-10 19:08:28 +01:00
Ignacio Etcheverry
3afd9deded
Merge pull request #25774 from neikeq/fix-noreturn-attr-check
...
Fix check to determine if [[noreturn]] attribute is usable
2019-02-10 19:08:15 +01:00
Ignacio Etcheverry
b67955afca
Fix check to determine if [[noreturn]] attribute is usable
2019-02-10 18:45:18 +01:00
Ignacio Etcheverry
7f596270f3
Fix exporting assemblies from wrong output path
...
This is the whole reason 'fill_search_dirs' was added for, yet somehow I forgot to pass the config parameter.
2019-02-10 18:37:42 +01:00
Ignacio Etcheverry
24a2ae7f3c
Do not initialize Mono if 'res://.mono/' and mscorlib are missing
...
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-10 18:34:37 +01:00
Aaron Franke
25a90bcf1a
[Mono] Fix Transform2D origin
2019-02-09 14:56:14 -05:00
Ignacio Etcheverry
9df44c2d2c
Use script instance binding for objects constructed from C#
...
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-09 00:32:18 +01:00
Ignacio Etcheverry
5f8c30fbca
Mono: Create player script metadata when building manually
...
Previously this was only done when building the script for running the game. This was a problem because the user could want to build the project manually with the "Build project" button, to then run the game from the command line or similar.
2019-02-08 22:49:27 +01:00
Ignacio Etcheverry
4aa4916b11
Mono: Workaround to fix 'flushing' errors when building at editor startup
2019-02-05 18:51:24 +01:00
Ignacio Etcheverry
919fa75803
Merge pull request #25574 from neikeq/ss
...
Mono: Lifetime fixes for CSharpInstance and instance binding data
2019-02-03 07:36:33 +01:00
Ignacio Etcheverry
d8593747e0
Mono: Fix default debugger agent argument never being used
2019-02-03 06:51:07 +01:00
Ignacio Etcheverry
3233083f63
Mono: Lifetime fixes for CSharpInstance and instance binding data
...
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-03 06:47:25 +01:00
Ignacio Etcheverry
4e4e889c75
Merge pull request #25478 from neikeq/rr
...
Mono: Fix MonoPosixHelper not being found
2019-02-03 06:31:52 +01:00
Ignacio Etcheverry
065828d159
Mono: Fix MonoPosixHelper not being found
2019-02-03 05:38:47 +01:00
Ignacio Etcheverry
d3c51a5dfb
Mono: Cleanup
2019-02-03 05:38:40 +01:00
Rémi Verschelde
57c0082533
Mono: Test Windows binaries with lowercase extension
...
To help users writing good cross-platform code, Godot's
`FileAccessWindows:open()` will issue a warning on case mismatch, which
happens here with capitalized extensions given by `PATHEXT` compared to
actual file extensions which are lowercase 99% of the time.
Fixes #25368 .
2019-01-27 11:54:32 +01:00
Ignacio Etcheverry
bc8b61bb06
Mono: Fix hot reload build errors and cleanup
2019-01-22 18:33:36 +01:00
Ignacio Etcheverry
077e489773
Mono: Add assembly reloading to running games
...
Add environment variable to specify a custom --debugger-agent for mono.
2019-01-21 22:44:09 +01:00
Ignacio Etcheverry
0ac5be8368
Fix C# script metadata creation error due to missing directory
2019-01-21 00:57:03 +01:00
Ignacio Etcheverry
ca8100f29f
Workaround for bug with Mono's MSBuild and BaseIntermediateOutputPath
...
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-21 00:38:28 +01:00
Ignacio Etcheverry
ce36351065
Merge pull request #25080 from neikeq/mm-c
...
C# Bindings Generator: Fix vararg methods with custom return type
2019-01-18 01:30:43 +01:00
Ignacio Etcheverry
e8a1d4babd
Merge pull request #25079 from neikeq/mm-b
...
C#: Fix trying to build when there's no solution
2019-01-18 01:23:15 +01:00
Ignacio Etcheverry
8f26c54c40
C# Bindings Generator: Fix vararg methods with custom return type
2019-01-18 01:03:44 +01:00
Ignacio Etcheverry
9cd24b4f6d
C#: Fix trying to build when there's no solution
...
This would cause errors that shouldn't happen unless there was something to build.
2019-01-18 01:03:15 +01:00
Ignacio Etcheverry
b48dd1bdaf
C#: Fix crash due to missing gchandle ref null check
2019-01-17 23:15:20 +01:00
Rémi Verschelde
658296856c
Merge pull request #24877 from neikeq/issue-24280
...
Fix properties being lost when reloading placeholder GDScript instance
2019-01-10 18:02:57 +01:00
Rémi Verschelde
e5f1d19352
Consistency in resource format saver/loader de-registration
...
Some used 'is_valid()' checks, others not. Validity is already checked in 'unref()',
and 'remove_resource_format_*()' has an ERR_FAIL condition on 'is_null()' already
(which shouldn't happen since we're only unregistering things that we previously
registered.
Also add missing GDCLASS statement in ResourceFormatLoaderVideoStreamGDNative,
missed in #20552 which was last amended before #19501 was merged.
2019-01-10 12:45:57 +01:00
Ignacio Etcheverry
ea85ff0dc2
Fix properties being lost when reloading placeholder GDScript instance
...
During reloading in `GDScriptLanguage::reload_all_scripts` a placeholder instance that must remain so is replaced with a new placeholder instance. The state is then restored by calling `ScriptInstance::set` for each property. This does not work if the script is missing the properties due to build/parse failing.
The fix for such cases is to call `placeholder_set_fallback` instead of `set` on the script instance.
I took this chance to move the `build_failed` flag from `PlaceHolderScriptInstance` to `Script`. That improves the code a lot. I also renamed it to `placeholder_fallback_enabled` which is a much better name (`build_failed` could lead to misunderstandings).
2019-01-10 01:58:50 +01:00
Hein-Pieter van Braam
ee0c4a97b3
Use 'release_debug' for mono export templates
...
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-08 01:44:54 +01:00
Hein-Pieter van Braam
dd766bae78
Use 'release_debug' for mono export templates
...
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-07 18:19:35 +00:00
Rémi Verschelde
1808241d16
Merge pull request #24688 from Supatier/add-additional-vscode-name
...
Add code-oss, vscode-oss, and visual-studio-code-oss to vscode path
2019-01-03 21:32:41 +01:00
supatier
ab7f102b14
Add code-oss, vscode-oss, and visual-studio-code-oss to vscode path
2019-01-02 05:40:34 +07:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
d1f3b622f0
Fix missing/malformed license headers
2019-01-01 12:46:36 +01:00
Rémi Verschelde
dcc7f2b54b
Merge pull request #24545 from akien-mga/osxcross-mono
...
SCons: Allow building Mono module with OSXCross
2018-12-30 15:07:18 +01:00
Supatier
b173eed8aa
Fix Godot unable to find VSCode binary
...
VSCode's executable name is not uniform and godot only search for "code".
2018-12-27 15:16:29 +07:00
Kelly Thomas
a5e38586ce
fix capitalization for antiquewhite
2018-12-23 08:00:35 +08:00
Rémi Verschelde
d52100f4ff
SCons: Allow building Mono module with OSXCross
...
Improve the test logic to only assume that we're building for macOS
if OSXCROSS_ROOT is defined *and* we requested p=osx.
Supersedes #24480 .
2018-12-22 12:36:19 +01:00
Kelly Thomas
09496d93b1
[Mono] Color - add ColorN(), Colors - add named color properties
2018-12-21 15:01:32 +08:00
Rémi Verschelde
9c7bc127b9
Merge pull request #24385 from hpvb/reduce-string-coew
...
Reduce String CoW
2018-12-16 19:13:35 +01:00
Hein-Pieter van Braam
4e25e5066b
Reduce String CoW
...
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-16 16:51:38 +01:00
Rémi Verschelde
9df7ed59fb
Merge pull request #19501 from Zylann/custom_loaders
...
Added basic support for custom resource savers and loaders
2018-12-16 14:26:56 +01:00
Marc Gilleron
065e2670af
Added basic support for custom resource savers and loaders
2018-12-15 05:34:53 +00:00