Commit Graph

1390 Commits

Author SHA1 Message Date
bruvzg 4bf99f4af2 Narrow FileAccess scope to prevent deadlocks. 2022-04-12 10:54:39 +03:00
bruvzg 9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
Rémi Verschelde f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Rémi Verschelde a647fb3e62 Fix typos with codespell
Using codespell 2.2-dev from current git.

Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
Rémi Verschelde 7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Rémi Verschelde c9b75431f3 Refactor GDScript/C# script templates logic to be editor-only
Not a full refactor as it still goes through ScriptLanguage so it's hacky,
but at least it can now compile without this.
2022-03-28 16:21:00 +02:00
Rémi Verschelde 143d13717b
Merge pull request #59553 from reduz/script-extension-support 2022-03-28 13:35:21 +02:00
Michael Alexsander 42df9ed059 Make script templates follow the GDScript style guide 2022-03-28 01:32:12 -03:00
reduz 360dea5348 Add GDExtension support to Script
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core

This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
Raul Santos 83e0e13f4a
Support static methods in C# bindings generator 2022-03-22 19:36:57 +01:00
Raul Santos 4bbfd20aa9
Ignore PhysicsServer3DExtension class in C#
PhysicsServer3DExtension inherits from PhysicsServer3D which is a
singleton class, since singleton classes are generated as static in C#
it would generate invalid C# so for now we'll be
ignoring PhysicsServer3DExtension.
2022-03-18 17:28:48 +01:00
bruvzg 98d0af7d5c
Implement GDExtension export plugin. 2022-03-16 11:16:19 +02:00
Aaron Franke 89c4990274
Fix Slerp C# docs and add test cases for vectors in the same direction 2022-03-12 13:20:55 -06:00
Rémi Verschelde 768f9422bc Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaks
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
reduz 21637dfc25 Remove VARIANT_ARG* macros
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
2022-03-09 18:39:13 +01:00
Haoyu Qiu 851ed8886c Fix Autoload capitalization inconsistency 2022-03-09 15:03:03 +08:00
Marcel Admiraal 507f72db8e Rename Control's Rect properties to exclude rect_ part 2022-03-08 16:30:35 +00:00
Rémi Verschelde 53cf5eff9a
Merge pull request #58847 from KoBeWi/editor_settings_mess 2022-03-07 08:38:15 +01:00
kobewi 2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
Berke Kocaoğlu 20d72e462b
Implement `Deconstruct` methods for C# vectors
See https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/deconstruct#user-defined-types
2022-03-06 11:16:30 +03:00
Raul Santos eaddb79ec6
Refactor `bbcode_to_xml` into multiple specific methods
The specific `_append_xml_*` methods implement the logic that generates
the proper XML documentation for the given BBCode tag and target and
appends it to the output.
2022-03-03 23:35:10 +01:00
Raul Santos 84615b4b53
Find inherited members in C# documentation generator 2022-03-03 19:53:06 +01:00
Raul Santos 42989befd6
Add theme_item support to C# documentation generator 2022-03-03 18:54:49 +01:00
Raul Santos e601c9eb8f
Fix checking for `@GlobalScope` in C# documentation generator 2022-03-03 18:54:41 +01:00
Raul Santos 424817039a
Check for missing methods/members in C# documentation generator
- Outputs errors for missing members or methods when generating the C#
documentation.
- Hardcodes a special case for the `_init` method, in C# we'll reference
the constructor.
- Ignores properties with slashes (since they are not declared in C# and
can't be referenced in the documentation).
2022-03-03 18:53:15 +01:00
Raul Santos 47a7d85cc4
Fix references to global constants in C# documentation generator
Tries to find the referenced constants in the GlobalScope
if not found in the target class or if no class is specified.
2022-03-03 18:53:15 +01:00
Chris Bradfield 849d34ba8e Rename motion_velocity to velocity 2022-02-22 23:31:33 -08:00
Rémi Verschelde b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
Rémi Verschelde 11572c6e30
Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
Hugo Locurcio b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
Rémi Verschelde 7224389468
Merge pull request #57954 from TokageItLab/refactor-cubic-interpolate
Implement `cubic_interpolate()` as MathFunc for refactoring
2022-02-13 10:34:13 +01:00
Hendrik Brucker 77fb65debf Use EditorFileDialog instead of FileDialog in the project manager 2022-02-12 12:06:51 +01:00
Silc 'Tokage' Renew 865da09871 Implement cubic_interpolate() as MathFunc for refactoring 2022-02-12 18:11:17 +09:00
Hendrik Brucker b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
Raul Santos f380a8e0ec Support signals in C# documentation 2022-02-10 16:02:31 +01:00
Rémi Verschelde ba1024f42d
Merge pull request #57822 from Calinou/ios-remove-armv7 2022-02-08 23:25:16 +01:00
Ignacio Roldán Etcheverry f05f2dd80f
Merge pull request #57076 from IgorKordiukiewicz/fix-mono-string-capitalize
String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++
2022-02-08 22:16:54 +01:00
Hugo Locurcio 74fc4410f4
Remove support for ARMv7 (32-bit) on iOS
All iOS devices since the iPhone 5S support ARMv8 (64-bit).

The last iOS version supported on ARMv7 devices is 10.x, which is
too old to run Godot 4.0 projects since the minimum supported
iOS version is 11.0.
2022-02-08 22:11:29 +01:00
Andrew Jacob 8675ff0a74 Allow C# Vector2/3 slerp values to have any length 2022-02-07 22:58:43 -07:00
Rémi Verschelde 6a56314eab
Merge pull request #57748 from fabriceci/rename-script-template-variable 2022-02-07 13:22:23 +01:00
fabriceci e81ccaf270 rename jump force to jump velocity 2022-02-07 11:46:30 +01:00
Yuri Roubinsky a6e280c5de Add some more fixes to visual shader 2022-02-07 11:28:42 +03:00
Raul Santos 303f0c8626 Attach mono thread before getting nativeName field
In order to access the `nativeName` constant field from a C# class, the
mono scope thread must be attached or the mono domain will be null.
2022-02-07 03:43:34 +01:00
Ignacio Roldán Etcheverry 721c32ee2b
Merge pull request #57618 from Densorius/master
Fixed opening new instances of VS 2022 while a instance is already open
2022-02-04 15:05:51 +01:00
Densorius 93e2d0446f Fixed opening new instances of VS 2022 while a instance is already open 2022-02-04 10:40:43 +01:00
bruvzg 244db37508
Cleanup and move char functions to the `char_utils.h` header. 2022-02-04 11:35:01 +02:00
Densorius 9ea0508d35 Add Visual Studio 2022 support with fallback to 2019 2022-02-04 00:34:02 +01:00
Rémi Verschelde c47f059776
Merge pull request #57467 from webbuf/modules-initialize
Initialized Member Variables in /modules
2022-02-03 20:41:29 +01:00
zwebb 466661c78f initialized member variables in header 2022-02-03 11:14:42 -05:00
Marcel Admiraal 51834a4589 Be more verbose about why msbuild tools could not be found 2022-01-29 07:16:34 +00:00