summaryrefslogtreecommitdiff
path: root/modules/mono
AgeCommit message (Collapse)Author
2021-06-13Merge pull request #34668 from aaronfranke/to-stringRémi Verschelde
[Core] Reformat structure string operators
2021-06-13Improve & fix Mono buildPedro J. Estébanez
- Fix C++ compile errors about pending variable renames after the `Reference` to `RefCount` change. - Fix C# compile errors due to the recent rename of `EnablePlugin()` and `Build()`, which are now underscore-prefixed in bindings. - Additional rename: `godot_icall_Reference_Dtor` to `godot_icall_RefCounted_Dtor`.
2021-06-12Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde
Add a Time singleton
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-11Reformat structure string operatorsAaron Franke
The order of numbers is not changed except for Transform2D. All logic is done inside of their structures (and not in Variant). For the number of decimals printed, they now use String::num_real which works best with real_t, except for Color which is fixed at 4 decimals (this is a reliable number of float digits when converting from 16-bpc so it seems like a good choice)
2021-06-11Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11Merge pull request #49279 from Calinou/rename-string-is-abs-path-methodRémi Verschelde
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11Add Time singletonAaron Franke
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-07Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde
[Net] Refactor RPCs, remove RSETs
2021-06-07Style: Cleanup uses of double spaces between wordsRémi Verschelde
Or after punctuation. Tried to leave third-party stuff alone, unless it has been heavily modified for Godot.
2021-06-05Merge pull request #45364 from madmiraal/rename-quatRémi Verschelde
Rename Quat to Quaternion
2021-06-04Add missing override keyword to CSharpLanguage::is_control_flow_keyword()Marcel Admiraal
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Merge pull request #38430 from aaronfranke/transform3dRémi Verschelde
2021-06-03Allow clamping vectors and colorsAaron Franke
2021-06-03Rename Vector2 clamped to limit_length and add limit_length to Vector3Aaron Franke
2021-06-03Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio
This is more consistent with `NodePath.is_absolute()`.
2021-06-03Rename files and the exposed name for Transform3DAaron Franke
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-06-01[Net] Refactor RPCs, remove RSETsFabio Alessandrelli
In this PR: - Removed rset - rpc_config can now optionally configure transfer mode (reliable/unreliable/ordered) and channel (channels are not actually implemented yet.) - Refactor how the RPC id is computed to minimize the logic in Node and scripts that now only needs a single `get_rpc_methods` function.
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-21Rename Vector2 Perpendicular to Orthogonal in C#Aaron Franke
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD 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 ```
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-07Merge pull request #45144 from dalexeev/color-constsRémi Verschelde
Rename color constants (alternative)
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-04-29Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-26Remove uses of `auto` for better readability and online code reviewsHugo Locurcio
The current code style guidelines forbid the use of `auto`. Some uses of `auto` are still present, such as in UWP code (which can't be currently tested) and macros (where removing `auto` isn't easy).
2021-04-17C#: Fix `double` casting in wasm m2n trampolinesIgnacio Roldán Etcheverry
The trampolines were casting double to `size_t` (likely a copy-paste mistake), so the value was getting truncated.
2021-03-18Mono: Fix Android build after #46900Rémi Verschelde
2021-03-15C#: Fix disconnecting event signals twiceIgnacio Etcheverry
`disconnect_event_signals` can be called twice (when managed instance is disposed and from the ScriptInstance destructor).
2021-03-14Merge pull request #46968 from sboronczyk/fix-editor-plugin-monoRémi Verschelde
Fix create c# script from editor after partial class type is necessary
2021-03-13Merge pull request #46900 from Ev1lbl0w/bugfix-malloc_callsRémi Verschelde
Replace malloc's with Godot's memalloc macro
2021-03-13Fix create c# script after partial class typesboronczyk
2021-03-13Replace malloc's with Godot's memalloc macroEv1lbl0w
2021-03-13Merge pull request #46954 from neikeq/reggr-46307Rémi Verschelde
C#: Fix StringName leak warnings after generating bindings
2021-03-13C#: Fix StringName leak warnings after generating bindingsIgnacio Etcheverry
`Main::cleanup()` prints warnings if it finds `StringName`s still alive. We need the `BindingsGenerator` to be destructed before calling cleanup.
2021-03-13C#: Fix ScriptPathAttribute generator with none or nested namespacesIgnacio Etcheverry
The following two bugs were fixed: - For classes without namespace we were still generating `namespace {` without a namespace identifier, causing a syntax error. - For classes with nested namespaces we were generating only the innermost part of the namespace was being generated, e.g.: for `Foo.Bar` we were generating `namespace Bar {` instead of `namespace Foo.Bar {`. This wasn't causing any build error, but because of the wrong namespace Godot wasn't able to find the class associated with the script.
2021-03-08Merge pull request #46174 from xill47/mono-appdomain-unhandled-exception-eventRémi Verschelde
Added mono_unhandled_exception call to unhandled_exception hook
2021-03-08Added mono_unhandled_exception call to unhandled_exception hookIlya Kuznetsov
2021-03-07Merge pull request #46713 from neikeq/csharp-source-generators-initRémi Verschelde
Add C# source generator for ScriptPathAttribute
2021-03-06Add C# source generator for a new ScriptPath attributeIgnacio Etcheverry
This source generator adds a newly introduced attribute, `ScriptPath` to all classes that: - Are top-level classes (not inner/nested). - Have the `partial` modifier. - Inherit `Godot.Object`. - The class name matches the file name. A build error is thrown if the generator finds a class that meets these conditions but is not declared `partial`, unless the class is annotated with the `DisableGodotGenerators` attribute. We also generate an `AssemblyHasScripts` assembly attribute which Godot uses to get all the script classes in the assembly, eliminating the need for Godot to search them. We can also avoid searching in assemblies that don't have this attribute. This will be good for performance in the future once we support multiple assemblies with Godot script classes. This is an example of what the generated code looks like: ``` using Godot; namespace Foo { [ScriptPathAttribute("res://Player.cs")] // Multiple partial declarations are allowed [ScriptPathAttribute("res://Foo/Player.cs")] partial class Player {} } [assembly:AssemblyHasScripts(new System.Type[] { typeof(Foo.Player) })] ``` The new attributes replace script metadata which we were generating by determining the namespace of script classes with a very simple parser. This fixes several issues with the old approach related to parser errors and conditional compilation. It also makes the task part of the MSBuild project build, rather than a separate step executed by the Godot editor.
2021-03-03Mono/macOS: Separate data dir into frameworks and resources for codesigningShane Liesegang
Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2021-02-25Add generic support to PackedScene.InstanceAaron Franke
2021-02-25Fix C# bindings generator for default value typesAaron Franke
2021-02-22Make glue generation shutdown more gracefulPedro J. Estébanez
2021-02-20Merge pull request #45158 from aaronfranke/cs-packedarrayRémi Verschelde
Add C# array features from core PackedArrays