summaryrefslogtreecommitdiff
path: root/modules/mono
AgeCommit message (Collapse)Author
2020-09-24Merge pull request #42293 from ricardoalcantara/fix_basis_csharpRémi Verschelde
Basis RotationQuat should be public.
2020-09-24Basis RotationQuat should be public.Ricardo Alcantara
2020-09-23Fix C# string.IsAbsPath()Zae
2020-09-18Fix typos with codespellRémi Verschelde
Using codespell 1.17.1. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn 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 ```
2020-09-16Fix ExprMatch stackoverflowRaul Santos
2020-09-13Add mono log message to error for fatal errorsTom Daffin
2020-09-13Merge pull request #42000 from aaronfranke/cs-arr-concatRémi Verschelde
Add concatenation support and a new constructor to Godot.Collections.Array
2020-09-13C#: Fix csproj not synced on file move/removal from FS dockIgnacio Etcheverry
When NormalizePath was called with an absolute path (with drive letter) on Windows, it would prepend a file path separator to the path, e.g.: '\C:\Program Files\'. Apparently this was still accepted as a valid path by DotNetGlob and it stopped working when we switched to MSBuildGlob.
2020-09-12Add concatenation support and a new ctor to Godot.Collections.ArrayAaron Franke
2020-09-11Remove unused Python local variables.Marcel Admiraal
2020-09-10Remove unused Python imports.Marcel Admiraal
2020-09-08Change inequality comparison operators to use exact equalityAaron Franke
2020-09-08Merge pull request #41888 from neikeq/sln-bomRémi Verschelde
C#: Use BOM when creating a solution
2020-09-08C#: Use BOM when creating a solutionIgnacio Etcheverry
At least on Windows there seems to be issues if the solution has no BOM and contains a project with cyrillic chars.
2020-09-08C#: Fix endless reload loop if project has unicode charsIgnacio Etcheverry
The assembly modified time wasn't picked properly as the path was treated as latin-1, so the file watcher was constantly firing the event.
2020-09-06Fix header guards in modules:Marcel Admiraal
- Add missing header guards to various modules' register_types.h - Add header guard to basis_universal/texture_basisu.h. - Ensure header guard encloses entire header in webrtc/webrtc_data_channel_js.h.
2020-09-06Handle csproj "Remove" globsAlex de la Mare
MSBuild Item returns empty strings if an attribute isn't set (which caused an IndexOutOfRangeException in NormalizePath). We were treating Excludes incorrectly, Remove directives provide the intended behaviour in the auto-including csproj format.
2020-09-04Fix Mono path utils char types.bruvzg
2020-09-04Merge pull request #41753 from neikeq/csharp-hide-build-button-if-no-projRémi Verschelde
C#: Hide Build button if there's no solution to build
2020-09-04Merge pull request #41747 from neikeq/issue-41446Rémi Verschelde
Fix parsing of C# files with spaces in the path
2020-09-04Merge pull request #41750 from neikeq/issue-41745Rémi Verschelde
C#: Fix Godot failing to find class namespace
2020-09-04Merge pull request #41748 from neikeq/issue-41712Rémi Verschelde
Fix 'Parameter "assembly" is null' error
2020-09-04C#: Hide Build button if there's no solution to buildIgnacio Etcheverry
Same as we do with the bottom panel. Mainly to avoid bothering if the project is not using C#.
2020-09-04C#: Fix Godot failing to find class namespaceIgnacio Etcheverry
2020-09-04Fix 'Parameter "assembly" is null' errorIgnacio Etcheverry
This error was normally being printed when trying to open the project assembly while the project was not yet built. The error should not be printed. It's the job of this method's caller to decide whether to print an error or not if loading failed.
2020-09-04Fix parsing of C# files with spaces in the pathIgnacio Etcheverry
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-09-03C#: Fix Windows detection for copying MSBuild stubIgnacio Etcheverry
Previous condition checked only the host platform. This was a problem as our official builds are from Linux.
2020-09-02Merge python EnvironmentError, IOError and WindowsError into OSError.Marcel Admiraal
2020-09-01Simplify html_is_valid and allow it to work with 3 and 4 hex digitsAaron Franke
2020-09-01Change Color HTML conversion from ARGB to RGBAAaron Franke
Also add support for 3 and 4 digit values in C#. Now it actually matches the HTML/CSS spec.
2020-08-31Add link titles for all links in the class referenceHugo Locurcio
This makes them display in a nicer way in the editor help. (The title will display instead of the full URL.)
2020-08-30Merge pull request #41613 from neikeq/possiblyRémi Verschelde
Fix clang-tidy warnings due to semicolon after mono module macros
2020-08-30Merge pull request #41611 from neikeq/issue-41444Rémi Verschelde
C#: Fix crash on export when incorrectly freeing MonoAssemblyName
2020-08-30Fix clang-tidy warnings due to semicolon after mono module macrosIgnacio Etcheverry
This also enforces them to end with a semicolon.
2020-08-30C#: Fix InvalidCastException on exportIgnacio Etcheverry
2020-08-30C#: Fix crash on export when incorrectly freeing MonoAssemblyNameIgnacio Etcheverry
2020-08-29Mono: Improve MSBuildFinder logic on WindowsThaina Yu
Support detecting both 32-bit and 64-bit installations of `vswhere.exe`.
2020-08-24C#: Fix 'Parameter toolsPath cannot be null' errorIgnacio Etcheverry
2020-08-21Merge pull request #41410 from neikeq/no-bom-on-csproj-creationRémi Verschelde
C#: Save newly created csproj files without BOM
2020-08-21Merge pull request #41409 from neikeq/fix-null-in-msbuild-loggerRémi Verschelde
C#: Fix null exception in our MSBuild logger
2020-08-21C#: Save newly created csproj files without BOMIgnacio Etcheverry
2020-08-21C#: Fix null exception in our MSBuild loggerIgnacio Etcheverry
2020-08-21Mono/C#: Fix editor using wrong project assembly path in rare casesIgnacio Etcheverry
We were removing invalid path characters from the name in C++ code, but the C# editor code wasn't.
2020-08-19C#: Fix editor unable to play game after IDE PlayRequestIgnacio Etcheverry
The editor wasn't clearing the debugger agent settings properly after a processing a play request from an IDE. This caused consequent play attempts to fail if not launched from the IDE, as the game would still attempt and fail to connect to the debugger. The concrete cause: Forgetting to clear the `GODOT_MONO_DEBUGGER_AGENT` environment variable.
2020-07-27Make all String float conversion methods be 64-bitAaron Franke
2020-07-27Pop from front to avoid infinite loop with nested classesNhiqill
2020-07-26Merge pull request #40595 from neikeq/godot-net-sdk-and-net-standardRémi Verschelde
C#: Switch games to MSBuild Sdks and .NET Standard
2020-07-26CI: Install master version of psf/blackRémi Verschelde
Until https://github.com/psf/black/pull/1328 makes it in a stable release, we have to use the latest from Git. Apply new style fixes done by latest black.
2020-07-25C#: Switch games to MSBuild Sdks and .NET StandardIgnacio Etcheverry
Godot.NET.Sdk ------------- Godot uses its own custom MSBuild Sdk for game projects. This new Sdk adds its own functionality on top of 'Microsoft.NET.Sdk'. The new Sdk is resolved from the NuGet package. All the default boilerplate was moved from game projects to the Sdk. The default csproj for game project can now be as simple as: ``` <Project Sdk="Godot.NET.Sdk/4.0.0-dev2"> <PropertyGroup> <TargetFramework>netstandard2.1</TargetFramework> </PropertyGroup> </Project> ``` Source files are included by automatically so Godot no longer needs to keep the csproj in sync when creating new source files. Define constants ---------------- Godot defines a list of constants for conditional compilation. When exporting games, this list also included engine 'features' and platform 'bits'. There were a few problems with that: - The 'features' constants were only defined when exporting games. Not when building the game for running in the editor player. - If the project was built externally by an IDE, the constants wouldn't be defined at all. The new Sdk assigns default values to these constants when not built from the Godot editor, i.e.: when built from an IDE or from the command line. The default define constants are determined from the system MSBuild is running on. However, it's not possible for MSBuild to determine the set of supported engine features. It's also not possible to determine if a project is being built to run on a 32-bit or 64-bit Godot executable. As such the 'features' and 'bits' constants had to be removed. The benefit of checking those at compile time was questionable, and they can still be checked at runtime. The new list of define constants includes: - GODOT - GODOT_<PLATFORM> Defaults to the platform MSBuild is running on. - GODOT_<PC/MOBILE/WEB> - TOOLS When building with the 'Debug' configuration (editor and editor player). - GODOT_REAL_T_IS_DOUBLE Not defined by default unless $(GodotRealTIsDouble) is overriden to be 'true'. .NET Standard ------------- The target framework of game projects was changed to 'netstandard2.1'.