summaryrefslogtreecommitdiff
path: root/modules/mono
AgeCommit message (Collapse)Author
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-26Style: Cleanup header guards for consistencyRémi Verschelde
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-22Merge pull request #66253 from raulsntos/dotnet/assembly-may-be-nullIgnacio Roldán Etcheverry
C#: Guard against null assemblies
2022-09-22C#: Suppress EventHandler suffix diagnostic for signalsRaul Santos
Suppress CA1711 for signal delegates because they are used in events so the naming follows the guidelines.
2022-09-22C#: Guard against null assembliesRaul Santos
A symbol's containing assembly will be null if the symbol is shared across multiple assemblies.
2022-09-22Merge pull request #66110 from Zylann/reference_get_countRémi Verschelde
get_reference_count()`
2022-09-21Rename and expose `RefCounted::get_reference_count()`Marc Gilleron
2022-09-19C#: Rename `PlusFile` to `PathJoin`Raul Santos
2022-09-19Replace File/Directory with FileAccess/DirAccesskobewi
2022-09-19Merge pull request #65879 from magian1127/4.0GenSDocRémi Verschelde
inheritdoc the "///" comment from EventHandler to the generated event
2022-09-18C#: inheritdoc the "///" comment from EventHandler to the generated eventMagian
2022-09-18Merge pull request #44143 from KoBeWi/callable_multiplayerRémi Verschelde
2022-09-18Port remaining connections to callable_mpTomasz Chabora
2022-09-18Merge pull request #65946 from antonWetzel/csharp-nd-arrayRémi Verschelde
Don't marshal multidimensional arrays
2022-09-18Merge pull request #65877 from raulsntos/dotnet/signal-delegate-docsRémi Verschelde
Add documentation to signal delegates
2022-09-17don't marshal multidimensional arraysantonWetzel
2022-09-16Make `push_nupkgs_local` absoluteRaul Santos
Ensures the `push_nupkgs_local` argument in build_assemblies.py is an absolute path so the argument can be given as a relative path and it will be converted.
2022-09-16C#: Add documentation to signal delegatesRaul Santos
2022-09-15Merge pull request #65823 from raulsntos/dotnet/signal-docsIgnacio Roldán Etcheverry
C#: Move signal documentation to the event
2022-09-15C#: Move signal documentation to the eventRaul Santos
Move signal documentation from the delegate to the event and also deprecate the event if the signal is deprecated.
2022-09-15Fix NuGet fallback folder packagesRaul Santos
- Creates a `Godot.Offline.Config` file to configurate NuGet with Godot's fallback folder. This is easier because now we can assume we can override the entire file since user config will likely be in the default `NuGet.Config` file or an additional `*.config` file. - Ensure the NuGet fallback folder is created at the same time it is added to the NuGet configuration so future builds don't fail. - Add `GodotSharp` and `GodotSharpEditor` packages to the fallback folder. - Add `.nupkg.metadata` file to packages in fallback folder. - Refer to `Godot.SourceGenerators` using the specific non-floating version since floating versions don't seem to work with fallbackPackageFolders.
2022-09-14[macOS, .NET] Fix dotnet binary detection.bruvzg
2022-09-09Merge pull request #65533 from neikeq/issue-65522Rémi Verschelde
2022-09-09Merge pull request #64373 from YeldhamDev/edscale_likes_them_floatyRémi Verschelde
2022-09-08Fix MacOS compiler flags in .NET moduleRaul Santos
2022-09-08C#: Fix module builds for Windows 32-bit with mingw-w64Ignacio Roldán Etcheverry
The lambda was giving issues, so I re-wrote it as a static function.
2022-09-08Make `Vector2i` values paired with `EDSCALE` be just `Vector2`Michael Alexsander
2022-09-07Merge pull request #65438 from neikeq/replace-libnethost-dependencyRémi Verschelde
Replace libnethost dependency to find hostfxr
2022-09-07C#: Replace libnethost dependency to find hostfxrIgnacio Roldán Etcheverry
We want to replace libnethost as it gives us issues with some compilers. Our implementation tries to mimic libnethost's hostfxr_resolver search logic. We try to use the same function names for easier comparing in case we need to update this in the future.
2022-09-07Merge pull request #65197 from Mickeon/rename-connect-one-shotRémi Verschelde
Rename CONNECT_ONESHOT to CONNECT_ONE_SHOT
2022-09-06Merge pull request #65433 from neikeq/fix-mustbevariant-omittedtypeargRémi Verschelde
2022-09-06Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOTMicky
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06C#: Make MustBeVariantAnalyzer ignore OmittedTypeArgumentIgnacio Roldán Etcheverry
Fixes assertion error in the analyzer.
2022-09-06Merge pull request #65410 from magian1127/4.0UnifiedMemberNameIgnacio Roldán Etcheverry
C# Modify the MemberName generated for the user script
2022-09-06Merge pull request #64417 from aaronfranke/has-spaceRémi Verschelde
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06C# Modify the MemberName generated for the user scriptMagian
2022-09-06Rename `range_lerp` to `remap`Micky
2022-09-05Merge pull request #65321 from rburing/physics_server_2d_extensionRémi Verschelde
Create GDExtension classes for PhysicsServer2D
2022-09-05Merge pull request #65266 from raulsntos/dotnet/reload-non-tool-scriptsRémi Verschelde
Create script instance of reloaded scripts even if they're not tools
2022-09-04Replace AABB/Rect2(i) HasNo* methods in C#Aaron Franke
2022-09-04Fix some bugs with Vector4 in C#Aaron Franke
2022-09-04C#: Create script instance of reloaded scripts even if they're not toolsRaul Santos
Scripts that are instantiated at some point will always be recreated if they ever become placeholders to prevent non-tool scripts instantiated manually by users to become placeholders, if they do become placeholders due to errors that prevent instantiation (such as a missing parameterless constructor) these scripts will also be recreated replacing the temporary placeholder. If a script is marked as a tool but becomes a non-tool script in a rebuild, the script will become a placeholder and will no longer be considered applicable to be replaced by an instance since the user explicitly removed the Tool attribute.
2022-09-04Create GDExtension classes for PhysicsServer2DRicardo Buring
This allows a 2D physics server created entirely from GDExtension. Based on the structure of PhysicsServer3DExtension by reduz.
2022-09-03Merge pull request #65296 from raulsntos/dotnet/signal-onceIgnacio Roldán Etcheverry
C#: Connect only once for each signal of a script
2022-09-03C#: Connect only once for each signal of a scriptRaul Santos
Since the list of signals in `CSharpScript::event_signals` retrieved from calling `ScriptManagerBridge.UpdateScriptClassInfo` already includes the signals from base scripts there is no need to iterate the hierarchy again on `CSharpInstance::connect_event_signals`.
2022-09-04Add float arg to build_assemblies.pyAlmighty Laxz
2022-09-03Fixed build failing when REAL_T double and dotnet enabledAlmighty Laxz
2022-09-01Merge pull request #65168 from raulsntos/dotnet/float64Ignacio Roldán Etcheverry
C#: Assume 64-bit types when type has no meta
2022-09-01C#: Assume 64-bit types when type has no metaRaul Santos
When the C# bindings generator finds a type without meta assume the type refers to the 64-bit version of the type: - `float` is converted to `double` - `int` is converted to `long`
2022-08-31C#: Fix Vector4 in godot_variant and missing marshalingIgnacio Roldán Etcheverry
Vector4 and Vector4i were implemented incorrectly in godot_variant. They were also missing their respective Variant conversion callbacks (used for generic collections). Took the chance to remove unnecessary native calls for creating Variant from Vector4, as now it can be done from C# (which is faster).