Age | Commit message (Collapse) | Author |
|
Fix Godot.Reference marshalling from MonoObject* to Variant
|
|
C#: Throw ObjectDisposedException from disposed wrapper classes
|
|
C#: Add random functions to GD class
|
|
|
|
|
|
|
|
Closes #24753
|
|
Fixes #25903
|
|
Need to cast Ref<T> to Variant instead of constructing Variant from Object*, otherwise the Variant won't hold a reference.
|
|
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`
|
|
Use script instance binding for objects constructed from C#
|
|
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`
|
|
|
|
[Mono] Fix Transform2D origin
|
|
Windows: Default to system MSBuild and add VSCode hint path
|
|
|
|
Don't pass FrameworkPathOverride to MSBuild. It's causing issues with some nuget packages.
|
|
Do not initialize Mono if 'res://.mono/' and mscorlib are missing
|
|
Fix check to determine if [[noreturn]] attribute is usable
|
|
|
|
This is the whole reason 'fill_search_dirs' was added for, yet somehow I forgot to pass the config parameter.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
Mono: Fix MonoPosixHelper not being found
|
|
|
|
|
|
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.
|
|
|
|
Add environment variable to specify a custom --debugger-agent for mono.
|
|
|
|
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?
|
|
C# Bindings Generator: Fix vararg methods with custom return type
|
|
C#: Fix trying to build when there's no solution
|
|
|
|
This would cause errors that shouldn't happen unless there was something to build.
|
|
|
|
Fix properties being lost when reloading placeholder GDScript instance
|
|
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.
|
|
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).
|
|
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
|
|
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
|
|
Add code-oss, vscode-oss, and visual-studio-code-oss to vscode path
|